javafx
Animación
Buscar..
Animando una propiedad con línea de tiempo
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();
La forma más básica y flexible de usar la animación en JavaFX es con la clase Timeline . Una línea de tiempo funciona utilizando KeyFrame s como puntos conocidos en la animación. En este caso se sabe que al comienzo ( 0 seconds ) que el translateXProperty tiene que ser cero, y al final ( 2 seconds ) que la propiedad tiene que ser 80 . También puede hacer otras cosas, como configurar la animación para que se revierta, y cuántas veces debe ejecutarse.
Las líneas de tiempo pueden animar múltiples propiedades al mismo tiempo:
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
Esta animación tomará la propiedad Y de 0 (valor inicial de la propiedad) a 10 un segundo, y termina en 90 a los tres segundos. Tenga en cuenta que cuando la animación comienza de nuevo, Y vuelve a cero, aunque no sea el primer valor en la línea de tiempo.