java - 在 javafx 中为图像添加计时器

标签 java javafx

例如,我想首先在 javafx 中为我的图像添加计时器,我的第一张图像显示大约 3 秒,然后我的第二张图像显示大约 5 秒,之后什么都没有显示。对此有什么想法吗?

最佳答案

使用 Timeline更新 ImageViewimageProperty :

import javafx.animation.KeyFrame;
import javafx.animation.KeyValue;
import javafx.animation.Timeline;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
import javafx.util.Duration;

public class ImageDisplayTest extends Application {

    @Override
    public void start(Stage primaryStage) {
        Image image1 = new Image("...") ;
        Image image2 = new Image("...")  ;
        ImageView imageView = new ImageView();
        Timeline timeline = new Timeline(
                new KeyFrame(Duration.ZERO, new KeyValue(imageView.imageProperty(), image1)),
                new KeyFrame(Duration.seconds(3), new KeyValue(imageView.imageProperty(), image2)),
                new KeyFrame(Duration.seconds(8), new KeyValue(imageView.imageProperty(), null))
                );
        timeline.play();
        StackPane root = new StackPane();
        root.getChildren().add(imageView);
        primaryStage.setScene(new Scene(root, 800, 600));
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

关于java - 在 javafx 中为图像添加计时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23325488/

相关文章:

javafx双向更改通知不起作用?

JavaFX 与 MySql 登录表单 - NullPointerException

java - 排除 pojo 响应中的空字段

java - 使用@PropertySource(SpringBoot)使用通配符读取多个属性文件

java - 使用 JPA 和 Hibernate 的 ORM : EntityManager is null

java - 应用程序启动方法错误中的异常。其他解决方案不起作用

JavaFX:如何在 JFXDatePicker 中更改语言环境

JavaFx WebView 自动刷新?

java - 测试两个集合是否与 Java 流共享 3 个元素

.jar 库的 Java 命令行问题