我是javax.swing.SwingWorker
第一次使用。
我想JLabel
从 swing worker 发布的中期结果中更新 a 如下:
publish("Published String");
现在要更新JLabel
,我编写了以下代码:
process(List<String> chunks) {
if (chunks.size() > 0) {
String text = chunks.get(chunks.size() - 1);
label.setText(text);
}
}
上面的代码有效,但我的问题(或者更具体地说,我的疑问)如下:
上面的 swing worker 任务是一个匿名的内部类,因此它可以访问label
字段。
但是,如果我想让摇摆工人阶级成为非内部阶级怎么办。我是否需要label
作为参数传递给 swing worker 类的构造函数,以便 process() 方法可以访问。
或者有没有其他方法?
当 Swing 工作类不是内部类时,其他开发人员遵循什么方法从 Swing 工作类的结果更新 UI 组件?