为什么在带有 Sun JDK 6 的 Ubuntu 8.10 上使用 Netbeans 6.5 时我的 Swing 应用程序没有关闭。甚至从 Netbeans 网站下载的 Netbeans 教程也是如此。当我关闭应用程序时,我留下了一个死窗。然后我必须手动终止该进程。它来来去去,但我无法弄清楚是什么触发了这种行为。
我还使用 openjdk (6b12-0ubuntu6.1) 和 sun-java (6-10-0ubuntu2) 从命令行终端运行我的应用程序,但仍然没有运气。我注意到在尝试关闭它后通过 netbeans 运行它时,netbeans 仍然显示应用程序正在运行,并且在手动终止进程后,我的 netbeans 日志打印“Java 结果:137”
更新 - 3 月 4 日:我还尝试升级到 Sun JDK 6u12 和 Netbeans 6.7m2。但仍然没有运气。
更新 - 3 月 4 日:好的,经过进一步测试,我发现这种行为在我将 JPA 添加到我的应用程序后立即开始。这就解释了为什么 netbeans 网站上的 JPA 教程示例也这样做。我曾尝试编写一个 ExitListener 来首先关闭 EntityManager 但还没有运气。如果我从表单面板中删除 EntityManager、Query 和 List,应用程序将再次正确关闭。