javafx
Animation
Recherche…
Animation d'une propriété avec ligne de temps
Button button = new Button("I'm here...");
Timeline t = new Timeline(
new KeyFrame(Duration.seconds(0), new KeyValue(button.translateXProperty(), 0)),
new KeyFrame(Duration.seconds(2), new KeyValue(button.translateXProperty(), 80))
);
t.setAutoReverse(true);
t.setCycleCount(Timeline.INDEFINITE);
t.play();
Le moyen le plus simple et le plus souple d’utiliser l’animation dans JavaFX est la classe Timeline
. Une chronologie fonctionne en utilisant KeyFrame
comme points connus dans l'animation. Dans ce cas, il sait qu'au début ( 0 seconds
) le translateXProperty
doit être à zéro et à la fin ( 2 seconds
) que la propriété doit être 80
. Vous pouvez également faire d'autres choses comme définir l'animation pour inverser et combien de fois il devrait fonctionner.
Les timelines peuvent animer plusieurs propriétés en même temps:
Timeline t = new Timeline(
new KeyFrame(Duration.seconds(0), new KeyValue(button.translateXProperty(), 0)),
new KeyFrame(Duration.seconds(1), new KeyValue(button.translateYProperty(), 10)),
new KeyFrame(Duration.seconds(2), new KeyValue(button.translateXProperty(), 80)),
new KeyFrame(Duration.seconds(3), new KeyValue(button.translateYProperty(), 90))
); // ^ notice X vs Y
Cette animation amènera la propriété Y
de 0
(valeur initiale de la propriété) à 10
secondes, et se terminera à 90
secondes trois secondes. Notez que lorsque l'animation commence au-delà, Y
retourne à zéro, même si ce n'est pas la première valeur du scénario.