Eine Methode wäre die Breite Modifikation animieren innerhalb eines Timeline
wie in beide Richtungen zu Skalierung gegenüber.
auftretende
Durch die Zusammenarbeit mit Ausrichtungen experimentieren Sie wählen können, die am besten zu Ihrer aktuellen Statusleiste passen
Visuelle Darstellung:
Reihenfolge der Ausrichtung: Right | Center | Left

SSCCE:
public class RectangleWidthAnimation extends Application{
@Override
public void start(Stage primaryStage) throws Exception {
Rectangle statusBar = new Rectangle(300, 100);
Button animationButton = new Button("Animate width decrease by 25");
animationButton.setOnAction(event -> {
System.out.println("Animation start: width = " + statusBar.getWidth());
KeyValue widthValue = new KeyValue(statusBar.widthProperty(), statusBar.getWidth() - 25);
KeyFrame frame = new KeyFrame(Duration.seconds(2), widthValue);
Timeline timeline = new Timeline(frame);
timeline.play();
timeline.setOnFinished(finishedEvent -> System.out.println("Animation end: width = " + statusBar.getWidth()));
});
VBox container = new VBox(10, statusBar, animationButton);
//Experiment with these alignments
container.setAlignment(Pos.CENTER);
//container.setAlignment(Pos.CENTER_LEFT);
//container.setAlignment(Pos.CENTER_RIGHT);
primaryStage.setScene(new Scene(container, 350, 150));
primaryStage.show();
}
}
Eine Alternative zu der oben könnte sein, Übergänge zu verwenden, die Sie über
here
lesen