如果您正在修改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