【发布时间】:2019-03-12 01:00:00
【问题描述】:
我有一个带有 JFrame 的程序,我使用 WindowListener 来关闭程序。我使用以下方法提示保存程序中所做的更改的消息:
public void windowClosing(WindowEvent e) {
if (condition) {
System.exit(0);
}
但是,当我按下 cmd + Q 时,我的程序将退出,而我无法选择保存。无论我是通过窗口 X 还是通过键盘短命令关闭程序,是否有一种聪明的方法可以确保在关闭程序之前有条件?或者我需要为此创建一个 KeyEvent 吗?
【问题讨论】:
-
regardless if I close it through the window X or through my keyboard short commands?"cmd + Q" 听起来像 Mac 解决方案?在 Windows 中,您将使用分配给系统菜单中的 Exit 菜单项的键盘加速键来关闭窗口。请参阅Closing an Application 了解适用于 Windows 的基本解决方案,无论您是单击“X”还是使用键盘加速器。不知道它在 Mac 中的工作方式是否有所不同。
标签: java swing jframe windowlistener system.exit