在 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 程序中添加一个计时器,以安排一个简单的打印任务,让我们了解如何将这个概念应用到实际用例中。