JFrame是可以绑定窗口关闭事件的。frame.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
super.windowClosing(e);
System.out.println("窗口关闭!");
}
});
按照这样子绑定,确实能够起到窗口关闭时监听的效果。
当点击frame右上角的X按钮时可以监听到。但是如果直接通过任务管理器来关闭进程,就监听不到了。有什么办法 ,可以让任务管理器关闭进程  或 突然断电引起的程序关闭。 都能被监听到。

解决方案 »

  1.   

    连main的return 都不到了 咋侦听?我看只能通过监视手段来侦听,比如用一个UDP  不停的通消息测试是否活着。(写一个watch服务?)
      

  2.   

    windowClosing()方法只是对窗口的监听,而任务管理器负责的进程,两者风马牛不相及,要想监听到再写一个监听方法,有个对应的windowClosed()方法监听对窗口的关闭的,不过用的是window的dispos()方法,它是以释放内存资源的方式关闭窗口的,而进程(线程的一部分)的运行需要内存的,我觉得可以,不过我没试过,楼主可以试试,可以的话告诉我一声!
      

  3.   

    Runtime 类的 addShutdownHook 方法
      

  4.   

     svn+ssh://thrtest.mynetvue.com/svn/trunk/NVS/IOT