如果您正在修改GUI並且您處於AWT事件調度線程(如ActionListener
?)中,您應該使用SwingUtilities.invokeLater(Runnable)
嗎?AWT事件調度中的SwingUtilities.invokeLater線程
6
A
回答
5
您必須始終在Event Dispatch Thread(EDT)中執行GUI更新。然而,正如Jeffrey在評論中指出的那樣,Swing對象上的ActionListener.actionPerformed
方法是從EDT調用的已經。
如果您只是想在JButton
把目光啓用/ unenabled或從JList
添加/刪除項目,您通過製作一個Swing組件的ActionListener
這些變化,那麼你不應該有援引SwingUtilities.invokeLater
明確。
相關問題
- 1. 等待多線程的AWT事件調度程序線程
- 2. AWT事件線程中斷
- 3. Java AWT事件調度
- 4. 事件調度線程
- 5. 多線程事件調度
- 6. 有沒有一種乾淨的方式來檢索AWT事件調度線程
- 7. 覆蓋AWT事件派發線程
- 8. 模擬事件調度線程
- 9. 關於事件調度線程
- 10. 與事件調度線程相關
- 11. 多個事件調度線程
- 12. 處理事件調度線程
- 13. 在SwingUtilities.invokeLater()中殺死一個線程
- 14. 在非事件調度線程中調用fireTableRowsUpdated()是否安全?
- 15. 獨立邏輯線程來自事件調度線程
- 16. 讓線程在EDT的非EDT(事件調度線程)線程上運行
- 17. 確定AWT線程
- 18. Application.Current.Dispatcher在調度程序線程以外的事件的使用
- 19. AWT-EventQueue線程和AWT關閉線程不關閉
- 20. 在silex中的事件調度程序
- 21. 事件調度線程在哪裏調用?
- 22. unix中的線程調度
- 23. Java中的線程。 「AWT-EventQueue-0」java.util.ConcurrentModificationException
- 24. 線程「AWT-EventQueue-0」中的異常java.lang.NullPointerExceptionn
- 25. 線程中的異常「AWT-EventQueue-1」
- 26. 線程「AWT-EventQueue-2」中的異常java.lang.NoClassDefFoundError
- 27. 線程「AWT-EventQueue-0」中的異常NumberFormatException
- 28. 線程「AWT-EventQueue-0」中的異常java.lang.NoClassDefFoundError
- 29. 線程「AWT-EventQueue-0」中的異常java.util
- 30. 線程「AWT-EventQueue-0」中的異常java.lang.NullPointerException
這取決於你想要完成什麼。 – Jeffrey
@Jeffrey對不起,我編輯了這個問題。 – Stripies
這仍然取決於你想要完成什麼。當你在'ActionListener'的'actionPerformed'方法中時,你在EDT上。但是,有些情況下,在所有其他偵聽器處理完相同的事件後,您需要執行某些操作,在這種情況下,您應該使用'invokeLater'。那麼你究竟在做什麼? – Jeffrey