[英]Java: Swing Timer waiting
我有这样的代码:
final SwingWorker worker = new SwingWorker() {
@Override
protected Object doInBackground() throws Exception {...};
}
Timer timer=new Timer(10000, new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
worker.execute();
}
});
timer.start();
有时工作程序需要10秒以上,但有时需要3-4秒,那么如何设置计时器等待工作人员的完全执行? 有什么建议?
查看SwingWorker
类的javadoc:
在工作线程上调用doInBackground方法之前,SwingWorker会将状态属性更改通知给StateValue.STARTED。 doInBackground方法完成后,执行done方法。 然后,SwingWorker会将任何PropertyChangeListeners状态属性更改通知给StateValue.DONE。
因此,当SwingWorker
完成时会触发事件。 附加一个监听器并在正确的事件上重新激活Timer
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.