我想在 EDT 上从 doInBackground 运行某个函数。我目前使用发布和处理来设置它,效果很好。但是,我想知道是否有一种方法可以在不使用发布和处理的情况下从 doInBackground 在 EDT 上运行函数。另外,不使用invokeLater。我可以以某种方式做到这一点吗?
最佳答案
您可以像将任何代码排队到 EDT 上一样执行此操作:通过添加到事件队列的 Runnable:
protected void doInBackground() throws Exception {
// code to be called off of the EDT
SwingUtilities.invokeLater(new Runnable() {
public void run() {
// code to be called on the EDT
}
});
return null;
}
关于java - 从 doInBackground 在 EDT 上运行函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7811613/