J'ai un ensemble de lignes sur l'écran. Lorsque j'appuie sur un bouton "Démarrer", l'animation doit être lancée. L'animation se présente comme suit:
1) ligne show 1, attendez 1000 ms
2) ligne show 2, attendez 1000 ms
3) ligne hide 1, ligne 2 et de montrer la ligne 3, attendez 1000 ms
et ainsi sur.
Lorsque j'appuie sur "Stop", je dois arrêter cette animation et montrer un état initial. Donc ma question: Dois-je utiliser certaines classes de package javafx.animation? Comme je l'ai compris il y a quelques animations de gabarit des noeuds comme le déplacement, la rotation et autre. Mais j'ai besoin d'une séquence d'affichage et de masquage de différents nœuds.
Ou devrais-je exécuter cette séquence dans un nouveau Thread, à travers le ExecutorService, par exemple, et l'arrêter quand j'appuie sur "Stop"? Quelle est la meilleure approche pour résoudre ce problème? Merci d'avance!Java FX animation
-1
A
Répondre
0
Utilisez un Timeline
, avec event handlers on the KeyFrame
s:
Timeline timeline = new Timeline(
new KeyFrame(Duration.ZERO, e -> { /* show line 1 */}),
new KeyFrame(Duration.seconds(1), e -> { /* show line 2 */}),
new KeyFrame(Duration.seconds(2), e -> {
// hide line 1
// hide line 2
// show line 3
}),
new KeyFrame(Duration.seconds(3), e -> {/* etc. */}));
timeline.play();