如何在java中设置一个计时器,在两分钟后打印出"Times up"?Javascript有一个setTimeout函数,但Java有类似的功能吗?
您可以使用Timer
到schedule(TimerTask, long)
;并且您可以使用TimeUnit
来计算您的延迟。类似
TimerTask task = new TimerTask() {
@Override
public void run() {
System.out.println("Times up");
}
};
long delay = TimeUnit.MINUTES.toMillis(2);
Timer t = new Timer();
t.schedule(task, delay);
如果您正在使用Swing,那么不要使用Thread.sleep()
,因为它会冻结您的Swing应用程序。
相反,您应该使用javax.swing.Timer
。
请参阅Java教程How to Use Swing Timers。
您可以使用Java的Thread.sleep()
。其参数也以毫秒为单位。
试试这个:
try {
Thread.sleep(120000);
} catch(InterruptedException e) {
System.err.println(e);
}
catch
在Java中是必要的,以防提前脱离"睡眠":在JS中,setTimeout()
在后台运行,但在Java中,它是主要进程。
您可以从Oracle的Java教程中看到此示例。请注意,他们throw InterruptedException
而不是捕获它。