2009-02-25 76 views
1

爲什麼我的Swing應用程序在Ubuntu 8.10和Sun JDK 6上使用Netbeans 6.5時沒有關閉。即使是從Netbeans網站下載的Netbeans教程也是如此。當我關閉應用程序時,我留下了一個死角。然後我必須手動殺死進程。它來了,但我無法弄清楚是什麼觸發了這種行爲。當應用程序退出時,爲什麼我的Swing應用程序窗口間歇性地不關閉?

我也從命令行終端使用openjdk(6b12-0ubuntu6.1)和sun-java(6-10-0ubuntu2)運行我的應用程序,仍然沒有運氣。我已經注意到,當它試圖關閉netbeans後運行netbeans仍然顯示應用程序運行和手動殺死進程後,我的netbeans日誌打印「Java結果:137」

更新-4Mar:我也試過升級到Sun JDK 6u12和Netbeans 6.7m2。但仍然沒有運氣。

Update - 4Mar:好的,經過進一步測試,我發現這種行爲在我將JPA添加到我的應用程序後立即啓動。這就解釋了爲什麼NetBeans網站上的JPA教程示例也是如此。我已經嘗試編寫一個ExitListener來首先關閉EntityManager,但沒有運氣。如果我從我的表單面板中刪除EntityManager,查詢和列表,應用程序會再次正常關閉。

回答

0

這是由於使用「系統默認」或「GTKLookAndFeel」外觀造成的。我切換到「NimbusLookAndFeel」,問題消失。

我已經嘗試過所有建議,包括Netbeans 6.7和Java 6.12。

仍然不清楚爲什麼這會發生在Ubuntu 8.10上。

1

確保你調用了setDefaultCLoseOperation(JFrame.EXIT_ON_CLOSE);

0

您使用的是什麼次要版本的Java 6? 我在更新10我認爲和Ubuntu 8.10有很多問題,升級到.12幫助了很多。

+0

我也在10。我要去做升級,看看它是否有效。我肯定這可能只是伎倆。感謝名單 – Dupdroid 2009-02-25 22:39:45

相關問題