簡體   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