2017-10-25 1 views
0

Mein Problem ist, dass wenn ich ein anchorPane mit Radius 15px mit scaleTransition skaliere und seine Breite vergrößern, wird das Aussehen gerade gestreckt. Ansonsten, wenn ich einfach setPrefWidth() benutze bleibt es gleich, aber es gibt keine Animation mit setPrefWidth(). Ich möchte nur die anchorPane mit dem gleichen Radius breiter werden. Wie kann ich es tun?javaFx Animation ScaleTransition

Das ist der Code, der den Radius anchorPane streckt.

ScaleTransition second = new ScaleTransition(Duration.seconds(2), main); 
second.setToX(2); 
second.play();` 

Antwort

0

Sie können einfach die prefWidthProperty() animieren. Vorausgesetzt, dass Sie die Animation erstellen, nachdem die Ankerscheibe main aufgebahrt wurde, können Sie tun:

Timeline second = new Timeline(
    new KeyFrame(Duration.ZERO, new KeyValue(main.prefWidthProperty(), main.getWidth())), 
    new KeyFrame(Duration.seconds(2), new KeyValue(main.prefWidthProperty(), 2 * main.getWidth()))) 
); 
second.play(); 
+0

erste Sache, die ich wirklich wirklich danke Mann für die schnelle Antwort ... Sekunde seine tatsächlich funktioniert .... Ich war Den ganzen Morgen über nachdenken, wie kann ich es tun, dann poste ich hier meine Frage für den letzten Versuch .... Sie half mir Mann so sehr, wirklich danke ... viel Liebe <3 –

+0

eine andere Frage Mann >>> den Code senden Sie es half mir also, breiter zu machen, aber auf der rechten Seite ... wie kann ich es auf der linken Seite machen .. ich habe versucht (-300) aber nicht funktioniert es genau wie es bis 0 Wert von PrefWidth dann seine unvisable –

+0

@abdlmjeedal - Übersetze es, während du es skalierst. –