javafx
animatie
Zoeken…
Een eigenschap animeren met tijdlijn
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();
De meest eenvoudige en flexibele manier om animatie in JavaFX te gebruiken, is met de Timeline . Een tijdlijn werkt met behulp van KeyFrame s als bekende punten in de animatie. In dit geval weet het dat aan het begin ( 0 seconds ) dat de translateXProperty nul moet zijn en aan het einde ( 2 seconds ) dat de eigenschap 80 moet zijn. Je kunt ook andere dingen doen, zoals de animatie omdraaien en hoe vaak deze moet worden uitgevoerd.
Tijdlijnen kunnen meerdere property's tegelijkertijd animeren:
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
Deze animatie neemt de eigenschap Y van 0 (startwaarde van de eigenschap) tot 10 een seconde in en eindigt na 90 seconden op 90 . Let op: wanneer de animatie opnieuw begint, gaat Y terug naar nul, ook al is dit niet de eerste waarde in de tijdlijn.