如果您正在修改GUI并且进入AWT事件调度线程,例如SwingUtilities.invokeLater(Runnable)
,那么您是否应该使用ActionListener
答案 0 :(得分:5)
您必须始终在事件调度线程(EDT)中执行GUI更新。但是,正如Jeffrey在评论中指出的那样,Swing对象上的ActionListener.actionPerformed
方法已经从EDT调用 。
如果您只是希望JButton
看起来已启用/未启用,或者要添加/删除JList
中的项目,并且您通过Swing组件上的ActionListener
进行了更改,那么您不必明确调用SwingUtilities.invokeLater
。