Sök…


Animera en egenskap med tidslinjen

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

Det mest grundläggande och flexibla sättet att använda animering i JavaFX är med Timeline . En tidslinje fungerar med hjälp av KeyFrame som kända punkter i animeringen. I detta fall vet det att i början ( 0 seconds ) att translateXProperty måste vara noll och i slutet ( 2 seconds ) att egenskapen måste vara 80 . Du kan också göra andra saker som att ställa in animationen för att vända och hur många gånger den ska köras.

Tidslinjer kan animera flera egendomar samtidigt:

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

Denna animering tar Y egenskapen från 0 (egenskapens startvärde) till 10 en sekund in, och den slutar på 90 på tre sekunder. Observera att när animeringen startar över går Y tillbaka till noll, även om det inte är det första värdet på tidslinjen.



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow