我注意到,如果设置了setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
,关闭框架将在任务管理器中结束其进程,但如果我实现WindowListener并手动处理()框架,进程将保留。。。可能是因为new Runnable()我有这样的东西:
new Runnable() {
void run() {
Jsch tunnel=new Jsch();
JFrame frame=new JFrame();
frame.addWindowListener(new WindowListener() { frame.dispose(); } ); // imagine that this is legal
frame.setVisible(true);
}
}
任何人都可以告诉我,如何手动结束某个应用程序创建的流程?
来自API文档。
- EXIT_ON_CLOSE(在JFrame中定义):使用系统退出方法退出应用程序。仅在应用程序中使用此选项
所以要强制退出调用System.exit(0);
。
当所有顶级窗口都被处理后,AWT事件调度线程可以关闭(如果需要,可以创建一个新的)。当进程中没有剩余的非守护进程线程时,它将退出。