在 JavaFx 中创建计时器
在 Java 中,可能需要稍后或延迟执行某些计划任务。我们将通过在 Java 代码中添加一个计时器来执行此操作。
要将计时器添加到代码中,我们将使用 java.util
包中的 Timer
类和 TimerTask
类。
要使用 java.util.Timer
类,我们首先需要导入它。为此目的,使用 import
关键字后跟所需的类。
import java.util.Timer;
同样,要使用 TimerTask
类,我们首先需要导入它。为此,我们使用 import
关键字后跟所需的类。
我们在 Java 项目中导入 java.util.TimerTask
类。
import java.util.TimerTask;
我们想安排一个简单的任务,在 5 秒内打印 Hello World
消息。
让我们看一下执行此操作的代码,然后是对给定代码的逐节解释以及输出。
在 JavaFX 中创建计时器
在这个例子中,我们首先导入 Timer
和 TimerTask
类,然后在 main()
方法中,我们创建 Timer
类的对象和匿名内部类来执行任务。
由于 TimerTask
类实现 Runnable
接口,我们重写 run()
方法来执行任务,然后使用 schedule()
方法。
我们运行任务。schedule()
方法有两个参数,第一个是任务对象,第二个是延迟时间。
请参见下面的示例。
import java.util.Timer;
import java.util.TimerTask;
public class SimpleTesting {
public static void main(String[] args) {
Timer timer = new Timer();
TimerTask task = new TimerTask() {
public void run() {
// The task you want to do
System.out.println("Hello World");
}
};
timer.schedule(task, 5000l);
}
}
输出:
Hello World
调度任务的主要部分是使用 Timer
类的 timer.schedule()
方法执行的。该函数的签名如下:
public void schedule(TimerTask task, long delay)
它安排指定的任务在指定的延迟后执行。
参数是 task,scheduled 和 delay,执行前的延迟毫秒数。
如果延迟为负,则它抛出的可能异常为 IllegalArgumentException
,或者 delay + System.currentTimeMillis()
为负。
IllegalStateException
,如果任务已被安排或取消,定时器被取消,或定时器线程终止,NullPointerException
如果任务为空。
我们编写 timer.schedule(task, 5000l)
来调度任务,第一个参数是之前定义的任务对象,第二个参数是需要的延迟。
由于我们需要 5 秒的延迟,等于 5000 毫秒,我们将 5000l
作为第二个参数传递。
l
表示长数据类型。因此,Hello World
消息会在 5 秒或 5000 毫秒的延迟后打印在输出中。
我们可以通过将 print 语句替换为所需的语句来执行更复杂的任务。
结论
在本主题中,我们学习了如何在 Java 程序中添加一个计时器,以安排一个简单的打印任务,让我们了解如何将这个概念应用到实际用例中。