javafx 定时器
时间: 2023-08-26 11:04:38 浏览: 208
在 JavaFX 中,可以使用 `Timeline` 类来创建定时器。`Timeline` 类允许您指定一个或多个关键帧,在每个关键帧上执行特定的操作。以下是一个简单的示例,演示如何使用 `Timeline` 创建一个每秒更新一次的定时器:
```java
import javafx.animation.KeyFrame;
import javafx.animation.Timeline;
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.stage.Stage;
import javafx.util.Duration;
public class TimerExample extends Application {
@Override
public void start(Stage primaryStage) {
primaryStage.setTitle("JavaFX Timer Example");
// 创建一个 KeyFrame,定义每秒要执行的操作
KeyFrame keyFrame = new KeyFrame(Duration.seconds(1), new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
// 在这里编写定时器要执行的代码
System.out.println("定时器触发");
}
});
// 创建 Timeline 并将 KeyFrame 添加到其中
Timeline timeline = new Timeline(keyFrame);
timeline.setCycleCount(Timeline.INDEFINITE); // 设置为无限循环
timeline.play(); // 启动定时器
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
```
在上面的示例中,我们创建了一个 `KeyFrame`,它定义了每秒要执行的操作。然后,我们创建了一个 `Timeline` 对象,并将 `KeyFrame` 添加到其中。通过调用 `setCycleCount(Timeline.INDEFINITE)` 方法,我们将定时器设置为无限循环。最后,调用 `play()` 方法启动定时器。
在 `handle()` 方法中,您可以编写您希望定时器执行的任何代码。在这个例子中,我们只是简单地打印一条消息到控制台。您可以根据自己的需求修改这部分代码来执行其他操作。
阅读全文