AWT事件派遣线程中的SwingUtilities.invokeLater

时间:2012-05-14 23:20:29

标签: java swing thread-safety

如果您正在修改GUI并且进入AWT事件调度线程,例如SwingUtilities.invokeLater(Runnable),那么您是否应该使用ActionListener

1 个答案:

答案 0 :(得分:5)

您必须始终在事件调度线程(EDT)中执行GUI更新。但是,正如Jeffrey在评论中指出的那样,Swing对象上的ActionListener.actionPerformed方法已经从EDT调用

如果您只是希望JButton看起来已启用/未启用,或者要添加/删除JList中的项目,并且您通过Swing组件上的ActionListener进行了更改,那么您不必明确调用SwingUtilities.invokeLater