1

为什么在带有 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,应用程序将再次正确关闭。

4

3 回答 3

1

确保调用 setDefaultCLoseOperation(JFrame.EXIT_ON_CLOSE);

于 2009-02-25T16:13:32.280 回答
0

您使用的是 Java 6 的哪个次要版本?我认为我正在更新 10,并且在 Ubuntu 8.10 上遇到了很多问题,升级到 .12 帮助很大。

于 2009-02-25T17:24:12.033 回答
0

这是由使用“系统默认值”或“GTKLookAndFeel”外观引起的。我切换到“NimbusLookAndFeel”,问题就消失了。

我已经尝试了所有建议,包括 Netbeans 6.7 和 Java 6.12。

尚不清楚为什么会在 Ubuntu 8.10 上发生这种情况。

于 2009-05-04T08:03:30.067 回答