0
所有與GUI相關的代碼只能從EDT
執行。在Android
開發中,類似這樣的東西似乎被強制實施,所以如果你這樣做,你會得到一個例外。在主線程中進行網絡調用。但是,對於開發Java
桌面應用程序,沒有這樣的事情。很容易忘記EDT
並且仍然在另一個線程中執行GUI代碼。這可能會導致奇怪的毛刺/錯誤,因爲Swing
is not thread-safe。有沒有辦法在默認情況下強制執行每個GUI代碼的EDT
的用法,類似於Android
更嚴格嗎?我不想手動檢查所有內容,如果違反了EDT
使用建議,則會發生異常。我正在使用IntelliJ IDEA
。強制EDT線程用於Swing庫
在Java代碼中,像可以對每個自動插入下列條款Swing庫方法:
if(!SwingUtilities.isEventDispatchThread())
{
throw new IllegalStateException("EDT property violated");
}
任何方式來獲得嗎?