2

我有一个小问题。

我的 Java 应用程序拥有一些本地资源。我想在退出应用程序之前释放这些资源。因此我写了一个WindowListener释放这些资源的windowClosed事件。

问题是我有一个JFramewith EXIT_ON_CLOSE,所以当我关闭窗口时,它会关闭 JVM 并且事件永远不会到达我。

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

我可以收起听者的EXIT_ON_CLOSEand 呼叫System.exit(0),但这对我来说似乎并不干净。

4

2 回答 2

3

您也许可以添加一个关闭挂钩并释放那里的本机资源?Runtime.getRuntime().addShutdownHook(Thread t). 在此处查看更多信息。

于 2012-04-14T18:18:52.333 回答
0

JFrame您可以在释放资源之前隐藏它,windowClosing这样您就可以确保它不会被打断

于 2012-04-14T18:19:09.760 回答