我在做某些特殊的GUI交互时遇到此问题。 这是我的情况:我使用一个对话框。我不打电话
System.exit()但稍后退出应用程序并返回。 通常,当JVM发现没有其他 非拒绝服务线程正在运行时,JVM就会存在。但是在使用这个对话框后, 不起作用。可能导致Java在返回后继续运行的原因
我100%确信在对话框 上调用了dispose(),并且还在应用程序的主框架上调用了dispose()。 我在IDE和从 命令行运行时都得到了这个结果。我可以用 IDE中的按钮或命令行中的Ctrl-C将它关闭。
但它当然会更好,如果JVM正确终止 本身提供的应用程序之前。
任何线索,这是一个已知的问题?我正在使用JDK 1.7,但在JDK 1.6中已显示 问题。
问候
P.S:只是读: 过去http://download.oracle.com/javase/1.4.2/docs/api/java/awt/doc-files/AWTThreadIssues.html 也出现了类似的问题。也许这是一个新问题。 过去的问题是: 其他软件包可以为内部需求创建可显示的组件,并且永远不会使其不可显示。见4515058,4671025和4465537。 我会尝试一些显式的setVisible(false)弹出菜单。
它不是关于弹出对话框,而是一个弹出菜单。当丢失dispose()是问题时,我不能正确退出时,我不使用弹出菜单。 –