【发布时间】:2015-02-17 07:08:58
【问题描述】:
目前我有一个实时活动的 while 循环正在运行,它可以完成我想要的唯一问题是在 while 循环仍处于活动状态时关闭框架(退出应用程序)。
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
我尝试使用 if 语句终止循环
if (frame.getDefaultCloseOperation() == 3){
running = false;
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
不幸的是,一旦应用程序自动运行,就会立即将其设置为3,并且该过程无法正常工作。
如何通过单击要关闭的框架来设置running = false;。
我只想通过单击 connour 中的 X 来关闭应用程序,当有一个活动循环运行时这可能吗?
【问题讨论】:
-
也许尝试启动另一个线程来监听关闭事件
-
if (frame.getDefaultCloseOperation() == 3)- 不要使用幻数。没有人知道(或关心)3 是什么。使用 API 提供的字段名称。如果可以使用JFrame.EXIT_ON_CLOSE设置属性,可以使用合适的变量名来测试属性。
标签: java swing while-loop terminate