所以,我基本上需要一个命令运行每5秒,但定时器不工作…我尝试了很多不同的方法,唯一有效的是Thread.sleep(Milliseconds);但这会导致我的整个游戏停止运行……如果我尝试使用计时器,例如:
Timer timer = new Timer(1000, new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("Hey");
}
});
timer.setRepeats(true);
timer.setCoalesce(true);
timer.start();
我怎样才能让这个定时器正确地启动?
您应该将java.util.Timer
与java.util.TimerTask
配对
Timer t = new Timer( );
t.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
System.out.println("Hey");
}
}, 1000,5000);
1000表示执行前的1 second delay
,5000表示repeated every 5 seconds
。
要停止,只需调用t.cancel()