我有一个gui跑步。如果强制重新启动Windows,我希望我的gui在关闭之前将其记录下来。我正在使用以下代码,当您单击“X”关闭窗口时它会起作用,但如果窗口强行关闭它则不起作用。
WindowAdapter listener = new WindowAdapter() {
public void windowClosing(WindowEvent w) {
log(w.paramString());
frame.dispose();
}
};
答案 0 :(得分:2)
您应该可以使用Runtime.addShutdownHook(...)
方法。
Java虚拟机关闭以响应两种事件:
当最后一个非守护程序线程退出或调用exit(等效,System.exit)方法时,程序正常退出,或者
虚拟机将响应用户中断(例如键入^ C)或系统范围的事件(例如用户注销或系统关闭)而终止。
答案 1 :(得分:1)
看起来你不能抓住OS Restart事件。不过,此处还有一些其他建议可以帮助您:Capture Windows shutdown, log off and restart in Windows service built in Java?