当有人通过右键单击应用程序并执行关闭窗口从任务栏(而不是直接从应用程序本身)关闭基于桌面的Java / JavaFx应用程序时,是否会触发事件?
目前,如果我从任务栏关闭窗口,应用程序窗口将关闭,但进程不会被杀死并继续在后台运行。我想完全关闭应用程序,以便应用程序中的嵌入式Derby DB断开连接。
我尝试了舞台的setOnHiding()
,setOnCloseRequest()
和其他类似的方法,但无济于事。
感谢您的帮助!
答案 0 :(得分:3)
您可以尝试使用ShutdownHook释放应用程序资源。
Runtime.getRuntime().addShutdownHook(...);
答案 1 :(得分:0)
JFrame f = new JFrame();
f.addWindowListener(new WindowAdapter()) {
@Override
public void windowClosing(WindowEvent e) {
// write your code here
}
}