我正在使用Swing前端編寫基本的Java應用程序。基本上它通過Apache Cayenne從Derby數據庫加載一些數據,然後將其顯示在JTable中。我正在Eclipse中進行開發,我不認爲這很重要,但我使用Maven進行依賴。Java Swing應用程序在正常模式下運行時掛起,但在調試模式下運行正常
現在這工作正常,當我運行調試但它似乎掛起顯示線程時,我使用運行按鈕。我做了一個線程轉儲,我不是100%確定的,但一切看起來不錯。我使用Java VisualVM,並且線程在那裏看起來很好。
奇怪它似乎間歇性地工作。雖然很容易重現,但它非常一致。如果任何人有任何想法,我都擺脫了他們。
+1用於事件分派線程。我還建議將默認外觀切換到Substance(https://substance.dev.java.net/),這會強制*在EDT中執行Swing相關的任務,或者應用程序失敗。這對我來說很有用,用於調試。 – 2010-05-07 02:12:56
甜 - 我意識到不同的方式來檢查EDT違規,但不知道有一個外觀和感覺會做到這一點。 – 2010-05-07 02:42:26
雖然我可能不會依賴L&F來強制執行,因爲這個想法是L&F可以插入。對我來說,這聽起來像是對外觀和感覺的責任的侵犯...... – 2010-05-07 02:54:49