Fade out puis fade in javaFX
Résolu/Fermé
andredrea
Messages postés
227
Date d'inscription
lundi 12 octobre 2009
Statut
Membre
Dernière intervention
3 mars 2021
-
31 juil. 2017 à 13:08
andredrea Messages postés 227 Date d'inscription lundi 12 octobre 2009 Statut Membre Dernière intervention 3 mars 2021 - 1 août 2017 à 13:49
andredrea Messages postés 227 Date d'inscription lundi 12 octobre 2009 Statut Membre Dernière intervention 3 mars 2021 - 1 août 2017 à 13:49
A voir également:
- Fade out puis fade in javaFX
- Hdmi out - Forum Format et connectique vidéo
- Navigation in private - Guide
- Cmdlcache out of memory ✓ - Forum jeux en ligne
- Out of range - Forum Ecran
- Ecran noir avec 'out of range" sous windows 10 - Forum Ecran
1 réponse
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 020
31 juil. 2017 à 18:15
31 juil. 2017 à 18:15
Bonjour,
Je n'ai pas testé, notamment parce que je n'ai pas tes fichiers .fxml donc ça ne va pas afficher grand chose, mais en général cela se produit parce que tu affiches ta fenêtre trop tôt, avant qu'elle ne sache qu'elle doit faire une animation au démarrage.
Je pense par exemple que
Remarque : quand tu as des expressions lambda simples comme
Exemple :
Je n'ai pas testé, notamment parce que je n'ai pas tes fichiers .fxml donc ça ne va pas afficher grand chose, mais en général cela se produit parce que tu affiches ta fenêtre trop tôt, avant qu'elle ne sache qu'elle doit faire une animation au démarrage.
Je pense par exemple que
fadeIn.play();devrait être appelé après le
fadeIn.setOnFinishedpour qu'il sache déjà comment se termine l'animation au moment où il la commence.
Remarque : quand tu as des expressions lambda simples comme
fadeIn.setOnFinished((e)->{fadeOut.play();});tu peux simplifier et mettre
fadeIn.setOnFinished(e -> fadeOut.play());, en revanche quand tu as des expressions beaucoup plus longues comme ton
fadeOut.setOnFinishedil faudrait penser à le mettre dans une méthode à part.
Exemple :
fadeOut.setOnFinished(this::fadeOutOnFinished)avec :
// import javafx.event.ActionEvent private void fadeOutOnFinished(ActionEvent evt) { try { AnchorPane parentContent = FXMLLoader.load(getClass().getResource(("Menu.fxml"))); rootAP.getChildren().setAll(parentContent); FadeTransition fadeIn = new FadeTransition(Duration.seconds(3), parentContent); fadeIn.setFromValue(0); fadeIn.setToValue(1); fadeIn.setCycleCount(1); fadeIn.play(); } catch (IOException e) { throw new UncheckedIOException(e); } }
1 août 2017 à 13:49
Merci pour vos remarques j'en prend note ! Bonne aprem