Java 在退出时调用windowClosed

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上放下退出_,然后从侦听器中调用系统。退

我有个小问题

我的Java应用程序包含一些本机资源。我想在退出应用程序之前释放这些资源。因此,我编写了一个
WindowListener
,在
windowClosed
事件中释放这些资源

问题是,我有一个
JFrame
EXIT\u ON\u CLOSE
,因此当我关闭窗口时,它会关闭JVM,事件永远不会到达我

如果我使用
windowClosing
event,那么在我释放资源后,实际上有人可以覆盖关闭事件。这将导致本机代码中出现SEGFULTS


我可以在_CLOSE上放下
退出_,然后从侦听器中调用
系统。退出(0)
,但这对我来说并不干净。

您可以添加一个关机挂钩并释放那里的本机资源吗<代码>运行时.getRuntime().addShutdownHook(线程t)
。查看更多信息。

在释放资源之前,您可以在
窗口关闭
中隐藏
JFrame
,以确保它不会被中断

很好,这正是我所需要的。从GUI进行清理似乎也不正确。