4
我需要一個Timer
,它基本上每t秒執行一次。但我希望能夠修改定時器重複任務的定時器週期。我寫的是這樣的:具有非固定延遲的Java定時器
public Bot() {
timer = new Timer();
timer.schedule(new Task(), 1000, moveTime = 1000);
}
public class Task extends TimerTask {
@Override
public void run() {
System.out.println("Time Passed from last repeat:" + movetime)
moveTime += 1000;
}
因此,1000毫秒延時定時器啓動後,每moveTime
毫秒重複。問題是,即使我將movetime
增加了1000,定時器始終運行在初始延遲(1000),但每當定時器調用run()
時,movetime
的值增加(2000,3000,4000等)。
我錯過了什麼,或者我有什麼替代方案每't'秒重複一個任務't'是可變的?
謝謝。
在擺動範圍內,['javax.swing.Timer'](http://docs.oracle.com/javase/tutorial/uiswing/misc/timer.html)支持'setDelay()'。 – trashgod