java - 如何在关闭 JFrame 时调用函数?
问题描述
因为我想在程序关闭之前进行备份。
当用户单击(关闭该 JFrame 的右上角按钮)按钮关闭 JFrame 时,我如何调用备份功能?回来后我想成为框架得到处置系统退出。
我已设置默认关闭操作setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
解决方案
非常简单地执行以下操作:
- 将默认关闭操作设置为:
frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
- 向您的框架添加一个新
WindowAdapter
的并覆盖(挂钩)其windowClosing
方法,如下所示:
frame.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent event) {
//your logic here
}
});
另外不要忘记,您需要手动处理框架以及调用System#exit
完成后才能关闭应用程序。
有关更多信息,请查看此处的相关文档:
https://docs.oracle.com/en/java/javase/11/docs/api/java.desktop/java/awt/event/WindowAdapter.html
推荐阅读
- c# - 微软 Azure 人脸对比
- css - SCSS 中创建扩展类名的未知 @ 规则?
- python - 分类明智的 TensorFlow 对象检测计数
- r - 估计命令如何在 R 的公式中找到变量名?
- python - 如何修复'AttributeError:'NoneType'对象在python中没有属性'get'错误
- excel - 如何从范围创建数组?
- bash - 如何判断哪个节点在 Slurm 中执行时正在执行代码?
- qt - 如何测试赋予 ListView 的 highlight 属性的组件?
- react-native - React Native:当用户单击发送按钮而不刷新时显示消息
- linux - 如果在同一个陷阱处理程序中触发信号会发生什么?