为什么在使用Sun JDK 6的Ubuntu 8.10上使用Netbeans 6.5时,我的Swing应用程序没有关闭。即使从Netbeans网站下载的Netbeans教程也是如此。当我关闭应用程序时,我留下了一个死窗口。然后我必须手动杀死进程。它来了又去,但我无法弄清楚是什么触发了这种行为。
我还使用openjdk(6b12-0ubuntu6.1)和sun-java(6-10-0ubuntu2)从命令行终端运行我的应用程序,但仍然没有运气。我注意到在尝试关闭netbeans后通过netbeans运行它时netbeans仍然显示应用程序正在运行,并且在手动终止进程后我的netbeans日志打印出“Java Result:137”
更新 - 4Mar:我也尝试升级到Sun JDK 6u12和Netbeans 6.7m2。但仍然没有运气。
更新 - 4Mar:好的,经过进一步测试后,我发现只要将JPA添加到我的应用程序中就会启动此行为。这就解释了为什么netbeans网站上的JPA教程示例也是如此。我已经尝试编写一个ExitListener来首先关闭EntityManager但是还没有运气。如果我从表单面板中删除EntityManager,查询和列表,应用程序将再次正常关闭。
答案 0 :(得分:1)
确保调用setDefaultCLoseOperation(JFrame.EXIT_ON_CLOSE);
答案 1 :(得分:0)
您使用的是Java 6的哪个小版本? 我认为我在Ubuntu 8.10上有很多问题,升级到.12有很多帮助。
答案 2 :(得分:0)
这是由使用“系统默认”或“GTKLookAndFeel”外观引起的。我切换到“NimbusLookAndFeel”,问题就消失了。
我已尝试过所有建议,包括Netbeans 6.7和Java 6.12。
还不清楚为什么会在Ubuntu 8.10上发生这种情况。