Java 在退出时调用windowClosed
我有个小问题 我的Java应用程序包含一些本机资源。我想在退出应用程序之前释放这些资源。因此,我编写了一个Java 在退出时调用windowClosed,java,swing,windowlistener,resource-cleanup,Java,Swing,Windowlistener,Resource Cleanup,我有个小问题 我的Java应用程序包含一些本机资源。我想在退出应用程序之前释放这些资源。因此,我编写了一个WindowListener,在windowClosed事件中释放这些资源 问题是,我有一个JFrame和EXIT\u ON\u CLOSE,因此当我关闭窗口时,它会关闭JVM,事件永远不会到达我 如果我使用windowClosingevent,那么在我释放资源后,实际上有人可以覆盖关闭事件。这将导致本机代码中出现SEGFULTS 我可以在_CLOSE上放下退出_,然后从侦听器中调用系统。退
WindowListener
,在windowClosed
事件中释放这些资源
问题是,我有一个JFrame
和EXIT\u ON\u CLOSE
,因此当我关闭窗口时,它会关闭JVM,事件永远不会到达我
如果我使用windowClosing
event,那么在我释放资源后,实际上有人可以覆盖关闭事件。这将导致本机代码中出现SEGFULTS
我可以在_CLOSE上放下
退出_,然后从侦听器中调用系统。退出(0)
,但这对我来说并不干净。您可以添加一个关机挂钩并释放那里的本机资源吗<代码>运行时.getRuntime().addShutdownHook(线程t)
。查看更多信息。在释放资源之前,您可以在窗口关闭
中隐藏JFrame
,以确保它不会被中断很好,这正是我所需要的。从GUI进行清理似乎也不正确。