我在做某些特殊的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()是問題時,我不能正確退出時,我不使用彈出菜單。 –