我有一个方法,它调用一个swing计时器来启动,在调用这个方法之后,我必须等到执行的计时器停止。我试过了
while(timer.isRunning(){}
但它没有用,它只是冻结了我的程序。请帮助我,原谅我的英语不好。
答案 0 :(得分:0)
你正在做的事情是非常糟糕的做法,因为你强迫你的程序运行一个没有任何意义的循环。想象一下,计时器永远不会返回,在这种情况下,你创建了一个无限循环。
尝试thread.sleep()。睡眠前启动计时器()。如果已完成,计时器将抛出InterruptedException。更好的是:如果你自然醒来,那么你应该决定是否要再次入睡并继续等待计时器,或者如果你想抛出错误/做其他事情。
try {
Thread.sleep(10000);
} catch (InterruptedException e) {
}
答案 1 :(得分:0)
作为解决方案,我使用一个整数来跟踪我的方法的迭代计数。当整数大于某个整数时,我知道时间已经过去。