我有一个扩展 JFrame 的类名 Foo。Foo 类有几个组件和一个对象 x 作为私有字段,这些组件从不使用对象 x,反之亦然(意味着组件完全独立于 x)。当然 Foo 类的实例化放置在 EDT 中,但情况是我要从非 EDT 线程中更改对象 x 的值,例如 (Foo.x.getValue() == .....)。它应该放在 EDT 内吗?如果它看起来像这样:
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
foo.x.setValue(newValue);
}
});