Javafx在每个时间线之间暂停"周期"

时间:2017-03-03 13:30:47

标签: java javafx

目前我有一个带有图像的列表,这些图像会在一段时间内显示时间轴。但是我希望在每次之后都有一个没有显示图像的小暂停?有没有办法实现这种行为?

以下是我目前使用的代码:

FILENAME

现在每张照片显示10秒。我希望在每10秒后暂停1秒钟,不显示任何图像。

1 个答案:

答案 0 :(得分: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();