繁体   English   中英

Java:Swing Timer等待

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM