1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
| import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.paint.Color;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.animation.Timeline;
import javafx.animation.transition.FadeTransition;
import javafx.animation.KeyFrame;
def images = for(i in [1..4]){Image {url: "{__DIR__}pic{i}.jpg"};}
def imageView = ImageView {image: bind currImg};
var currImg = images[0];
def fade = FadeTransition {
duration: .5s
node: imageView
fromValue: 1.0
toValue: 0.1
repeatCount: 2
autoReverse: true
}
Timeline {
repeatCount: Timeline.INDEFINITE
keyFrames: [at(0s){currImg => images[0]},
KeyFrame{time: 4.5s action:function(){fade.play();}},
at(5s){currImg => images[1]},
KeyFrame{time: 9.5s action:function(){fade.play();}},
at(10s){currImg => images[2]},
KeyFrame{time: 14.5s action:function(){fade.play();}},
at(15s){currImg => images[3]},
KeyFrame{time: 19.5s action:function(){fade.play();}},
at(20s){currImg => images[0]}]
}.play();
Stage {
title: "JavaFX Slideshow"
scene: Scene {
width: 400
height: 300
fill: Color.BLACK
content: ImageView {image: bind currImg};
}
} |
Partager