0
我有一個線程可以完成一些工作。還有一個javax.swing.Timer需要等待幾秒鐘並更新一個進度條。現在Java等待定時器直到完成
我的問題是,我想,當計時器結束像
jTextArea1.append("continue ..\n");
執行進一步的代碼。整個代碼運行在一個線程內。 有人可以給我一個提示如何做到這一點?
jTextArea1.append(String.format("%d seconds to wait ..\n", wait));
System.out.println("-------------------------------------------------------------");
waiting = true;
final Timer timer = new Timer(wait*1000, new ActionListener() {
public void actionPerformed(ActionEvent e) {
jProgressBar1.setValue(jProgressBar1.getValue() + 1);
if (jProgressBar1.getValue() == 100) {
synchronized (this) {
waiting = false;
this.notify();
}
((Timer) e.getSource()).stop();
}
}
});
synchronized (timer) {
timer.start();
while(waiting)
timer.wait();
}
System.out.println(waiting + " " + new GregorianCalendar().getTimeInMillis());
jTextArea1.append("continue...\n");
感謝您的回答。但我的問題是,我不想做一些東西,然後等待62秒,並顯示進度條,然後從頭開始?我將如何實現? –