阅读量:2
在Java中,当用户关闭JFrame窗口时,可以通过实现WindowListener接口或重写windowClosing方法来处理窗口关闭事件。以下是两种方法的示例:
- 实现
WindowListener接口:
import javax.swing.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class MyJFrame extends JFrame {
public MyJFrame() {
// 初始化窗口标题、大小等
setTitle("My JFrame");
setSize(300, 200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 添加窗口关闭监听器
addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
// 处理窗口关闭事件
int option = JOptionPane.showConfirmDialog(MyJFrame.this, "确定要关闭窗口吗?", "关闭窗口", JOptionPane.YES_NO_OPTION);
if (option == JOptionPane.YES_OPTION) {
System.exit(0);
}
}
});
}
public static void main(String[] args) {
SwingUtilities.invokeLater(() -> {
MyJFrame frame = new MyJFrame();
frame.setVisible(true);
});
}
}
- 重写
windowClosing方法:
import javax.swing.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class MyJFrame extends JFrame {
public MyJFrame() {
// 初始化窗口标题、大小等
setTitle("My JFrame");
setSize(300, 200);
setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
// 添加窗口关闭监听器
addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
// 处理窗口关闭事件
int option = JOptionPane.showConfirmDialog(MyJFrame.this, "确定要关闭窗口吗?", "关闭窗口", JOptionPane.YES_NO_OPTION);
if (option == JOptionPane.YES_OPTION) {
System.exit(0);
}
}
});
}
public static void main(String[] args) {
SwingUtilities.invokeLater(() -> {
MyJFrame frame = new MyJFrame();
frame.setVisible(true);
});
}
}
在这两个示例中,我们都重写了windowClosing方法,当用户关闭窗口时,会弹出一个确认对话框询问用户是否确定关闭。如果用户点击“是”,则程序将退出;否则,窗口将保持打开状态。
以上就是关于“Java JFrame窗口关闭怎样处理”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm