繁体   English   中英

Javafx在每个时间轴“周期”之间暂停

[英]Javafx pause between each timeline “cycle”

目前,我有一个包含图像的列表,这些图像会随着时间轴显示一定时间。 但是,我希望每次出现一个小暂停后都不会显示图像吗? 有没有办法实现这种行为?

这是我到目前为止使用的代码:

ImageView imView = new ImageView();

Duration timeBetweenImages = Duration.millis(10000);
Timeline timeline = new Timeline();

for (int i = 0; i < imageList.size(); i++) {
    Image image = imageList.get(i);
    Duration frameTime = timeBetweenImages.multiply(i);
    KeyFrame frame = new KeyFrame(frameTime, e -> imView.setImage(image));
    timeline.getKeyFrames().add(frame);
}

timeline.play();

目前,每张图片显示10秒。 我希望每10秒钟后有1秒钟的暂停时间,其中没有图像显示。

ImageView imView = new ImageView();

Duration timeBetweenImages = Duration.seconds(11);
Duration pauseTime = Duration.seconds(1);
Timeline timeline = new Timeline();

for (int i = 0; i < imageList.size(); i++) {
    Image image = imageList.get(i);
    Duration frameTime = timeBetweenImages.multiply(i);
    KeyFrame frame = new KeyFrame(frameTime, e -> imView.setImage(image));
    timeline.getKeyFrames().add(frame);

    Duration pauseFrameTime = timeBetweenImages.multiply(i+1).subtract(pauseTime);
    KeyFrame pauseFrame = new KeyFrame(pauseFrameTime, e -> imView.setImage(null));
    timeline.getKeyFrames().add(pauseFrame);
}

timeline.play();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM