如果你正在修改GUI并且在AWT事件分派线程中(如ActionListener),那么是否应该使用SwingUtilities.invokeLater(Runnable)?
如果你正在修改GUI并且在AWT事件分派线程中(如ActionListener),那么是否应该使用SwingUtilities.invokeLater(Runnable)?
JTextComponent
或重新定位 JScrollBar
,则可能需要使用 invokeLater
。但是,由于他只是启用/禁用 JButton
并修改 JList
,因此不需要。 - JeffreyinvokeLater
是相当无用的。显然,如果我们想在稍后的时间点运行某些内容,则仍然适用于通常的限制(即仅因为我们从EDT启动线程并不能帮助我们)。 - VooJTextComponent
中的文本的监听器可能会在当前监听器之后被通知。如果是这种情况,您将清除一个尚未包含任何文本的 JTextComponent
;这是一个无意义的操作。 - Jeffrey
ActionListener
的actionPerformed
方法中时,你正在EDT上运行。然而,在有些情况下,你需要在所有其他监听器完成处理相同事件之后执行某些操作,在这种情况下,你应该使用invokeLater
。那么你实际上想要做什么? - JeffreyJButton#setEnabled(boolean)
和在JList
中添加/删除元素。 - Stripies