Java 当您使用小X关闭GUI时
如果使用表单右上角的小X关闭GUI,是否也会杀死所有线程 如果没有,您如何捕捉该事件,以便我输入一些关闭代码Java 当您使用小X关闭GUI时,java,multithreading,swing,thread-safety,threadpool,Java,Multithreading,Swing,Thread Safety,Threadpool,如果使用表单右上角的小X关闭GUI,是否也会杀死所有线程 如果没有,您如何捕捉该事件,以便我输入一些关闭代码 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 要在关闭时执行一些代码,请查看以下内容 要在关闭时执行一些代码,请查看以下内容 如果使用表单右上角的小X关闭GUI,是否也会杀死所有线程 是,如果默认关闭操作是Luiggi提到的“关闭时退出”。OTOH最好不要简单地随意“杀死”线程 如果没有,您如何捕捉该事件,以便我输入一些关闭代码 set
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
要在关闭时执行一些代码,请查看以下内容
要在关闭时执行一些代码,请查看以下内容
如果使用表单右上角的小X关闭GUI,是否也会杀死所有线程
是,如果默认关闭操作是Luiggi提到的“关闭时退出”。OTOH最好不要简单地随意“杀死”线程
如果没有,您如何捕捉该事件,以便我输入一些关闭代码
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
在关闭时设置默认关闭操作DO\u NOTHING\u,并添加WindowListener
或WindowAdapter
。在侦听器中,处理GUI并结束线程
有关详细信息,请参阅
如果使用表单右上角的小X关闭GUI,是否也会杀死所有线程
是,如果默认关闭操作是Luiggi提到的“关闭时退出”
。OTOH最好不要简单地随意“杀死”线程
如果没有,您如何捕捉该事件,以便我输入一些关闭代码
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
在关闭时设置默认关闭操作DO\u NOTHING\u,并添加WindowListener
或WindowAdapter
。在侦听器中,处理GUI并结束线程
有关详细信息,请参阅。如果且仅当您在主JFrame上执行setDefaultCloseOperation(退出时关闭)
时,它将终止线程。测试时发生了什么?即使Luiggi解决了主要问题,您也可以始终添加WindowListener
,当一个窗口关闭时,它会激活。如果并且仅当您在主JFrame上执行setDefaultCloseOperation(关闭时退出)
时,它才会杀死其他线程。测试它时发生了什么?即使Luiggi解决了主要问题,您也可以始终添加一个WindowListener
,当一个窗口关闭时激活它。创建其他线程我是否将其放入构造函数:公共类MainWindow扩展javax.swing.JFrame{public MainWindow(){this.pool=Executors.newCachedThreadPool();setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE);initComponents()}完全正确,但仅用于“良好样式”:为什么不导入javax.swing.JFrame?这会使代码更易于阅读。我是否将其放入构造函数:公共类MainWindow扩展javax.swing.JFrame{public MainWindow(){this.pool=Executors.newCachedThreadPool();setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE);initComponents();}完全正确,但仅适用于“良好样式”:为什么不导入javax.swing.JFrame?这会使您的代码更易于阅读。DISPOSE\u ON\u CLOSE
也可能是一种选择,我想,除非它需要按照特定顺序执行DISPOSE
,相对于其他关闭操作。DISPOSE\u ON\u CLOSE
也可能是一种选择,我想ppose,除非需要按照与其他关闭操作相关的特定顺序执行dispose
。