2017-09-17 5 views
-1

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

Répondre

0

Utilisez un Timeline, avec event handlers on the KeyFrames:

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();