我有一个类名Foo扩展了JFrame。Foo类有几个组件,一个对象x作为私有字段,这些组件从不使用对象x,反之亦然(意味着组件完全独立于x)。当然,Foo类的实例化放在EDT中,但情况是,我将从非EDT线程 (Foo.x.getValue() == )中更改对象x的值……)。它应该放在EDT里面吗?如果是这样的话:
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
foo.x.setValue(newValue);
}
});发布于 2012-08-13 07:37:15
如果x是一个UI元素(JTextfield、JTable、javax.swing.*),那么您需要使用EDT,就像在示例中所做的那样。
否则,我看不出有什么限制适用于这里。
https://stackoverflow.com/questions/11926191
复制相似问题