Ich möchte ein RippleAnimation
schaffen, so habe ich einen Kreis und verwendet ScaleTransition
und steckte es in eine Button
mit der Methode setGraphic(..);
JavaFX RippleAnimation über einen Knopf
Beispielcode:
final Circle circle = new Circle(3);
circle.setFill(Color.color(0, 0, 0, 0.2));
ScaleTransition scaleTransition = new ScaleTransition(Duration.millis(500), circle);
scaleTransition.setToX(50f);
scaleTransition.setToY(50f);
scaleTransition.setAutoReverse(false);
scaleTransition.setCycleCount(1);
button.setGraphic(circle);
button.setOnMouseEntered(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent event) {
scaleTransition.play();
}
});
...
aber es wird über die Button
:
Wie kann ich erreichen, dass der Kreis nicht über den Knopf kommt?
scaleTransition macht den Kreis groß, aber die Form ändert sich nicht in den Clip (?) (ich kann es nicht in Englisch erklären ...) so habe ich Gewinde und machte den Radius des Kreises lang. Es hat funktioniert, danke! – Person
Mit einem Thread hoffe ich, dass Sie die 'Timeline'-Klasse meinen. Verwenden Sie niemals andere Threads als den FX-Anwendungs-Thread, um eine Live-Szene zu ändern. – Mordechai
Oh, Timeline ist einfacher und stabiler. Vielen Dank! – Person