Dam*_*doh 2 java swing multithreading swingworker
我从教程中复制了以下代码并将其粘贴到我的编辑器 (Netbeans 8.1) 中。我阅读了SwingWorker 文档,从我从这个文档和其他文档中了解到,execute()方法应该“启动线程”(或将其放入工作线程)。
public class Sandbox {
public static void main(String[] args)
{
SwingWorker<Void, Void> w = new SwingWorker<Void, Void>() {
@Override
protected Void doInBackground() throws Exception {
for(int i=0; i<=10; i++){
Thread.sleep(1000);
System.out.println(i);
}
return null;
}
};
w.execute();
}
}
Run Code Online (Sandbox Code Playgroud)
这里有什么问题?如果我使用SwingUtilities.invokeLater(w)它可以工作,但它只显示0,当我删除Thread.sleep(1000)(据我所知,它应该暂停事情)时,它会按预期工作。
| 归档时间: |
|
| 查看次数: |
66 次 |
| 最近记录: |