所以,我基本上需要一个命令每5秒运行一次,但是Timer不起作用......我尝试了很多不同的方法,唯一有用的是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();
Run Code Online (Sandbox Code Playgroud)
如何让这个计时器正确启动?
你应该配对java.util.Timer使用java.util.TimerTask
Timer t = new Timer( );
t.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
System.out.println("Hey");
}
}, 1000,5000);
Run Code Online (Sandbox Code Playgroud)
1000表示1 second delay执行前和5000表示将repeated every 5 seconds.
要阻止它,只需打电话 t.cancel()