Java定时器每X秒



所以,我基本上需要一个命令运行每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.Timerjava.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()

最新更新