如何在Java中设置两分钟的计时器



如何在java中设置一个计时器,在两分钟后打印出"Times up"?Javascript有一个setTimeout函数,但Java有类似的功能吗?

您可以使用Timerschedule(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而不是捕获它。

最新更新