我必须使用SwingWorker来更新EDT,所以我写了一个这样的方法:
protected String var;
private void doSomething(){
SwingWorker<Void, String> = new SwingWorker<Void, String>(){
protected Void doInBackground(){
var = "something";
}
};
}
如何通过上述方法获取 var 值?
最佳答案
你可以...
调用publish
并向其传递值,该值将(最终)传递给process
你可以...
从 doInBackground
方法返回值,该值可以通过在工作线程完成后调用 get
来获取(您可能会使用 PropertyChangeListener
code> 确定状态何时改变)
你可以...
设计您自己的界面来将信息传递给工作人员,但我仍然会使用发布
/处理
功能将其返回到 EDT。
看看Worker Threads and SwingWorker了解更多详情
关于java - 获取 SwingWorker doInBackground() 上变量的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30657764/