如何等到java中的计时器停止?

时间:2018-01-14 11:06:42

标签: java timer wait sleep

我有一个方法,它调用一个swing计时器来启动,在调用这个方法之后,我必须等到执行的计时器停止。我试过了

while(timer.isRunning(){}

但它没有用,它只是冻结了我的程序。请帮助我,原谅我的英语不好。

2 个答案:

答案 0 :(得分:0)

你正在做的事情是非常糟糕的做法,因为你强迫你的程序运行一个没有任何意义的循环。想象一下,计时器永远不会返回,在这种情况下,你创建了一个无限循环。

尝试thread.sleep()。睡眠前启动计时器()。如果已完成,计时器将抛出InterruptedException。更好的是:如果你自然醒来,那么你应该决定是否要再次入睡并继续等待计时器,或者如果你想抛出错误/做其他事情。

try {
  Thread.sleep(10000);
} catch (InterruptedException e) {
}

答案 1 :(得分:0)

作为解决方案,我使用一个整数来跟踪我的方法的迭代计数。当整数大于某个整数时,我知道时间已经过去。