Wie man eine animation mit CSS in JavaFX?
Will ich ändern den Stil der Node
indem Sie seinen Stil Klasse.
Button button = new Button();
button.getStyleClass().add("class1")
button.setOnMouseClicked(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent mouseEvent) {
button.getStyleClass().add("class2");
}
});
Ist es möglich, ändern Sie den Stil allmählich, dass so etwas wie ein übergang?
neben der Frage: Warum nicht Sie nutzen die ausgefallene Lambda-annotation in Ihrem samplecode? Statt der (neuen Eventhan...) Sie schreiben einfach: mouseEvent -> - Taste.getStyleClass().add("class2"). Lust?
InformationsquelleAutor Eugene | 2013-07-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ja.
Müssen Sie verwenden Sie setStyle eher als Stil-Klassen, da die Klassen gehen, um statische Dinge in einem css definiert. Es gibt keine direkte Unterstützung in JavaFX-css für die Animationen. Führen Sie die animation Schritte in Java-code, der zum ändern der css-Stil.
Hätte ich nur wirklich empfehlen, Sie diesen Ansatz, wenn Sie möchten, verwenden Sie css, um führen Sie den übergang, weil es keine entsprechenden Java-APIs problemlos verfügbar.
Griff der animation, können Sie das standard-javafx-animation Timeline zu manipulieren, um die Eigenschaften, die die css-Eigenschaft abhängt.
Zum Beispiel, binden Sie die style-Eigenschaft string. Dann variieren Sie die Komponente, die Sie ändern möchten (in diesem Fall die colorStringProperty) in einer Zeitleiste.
Hier ist eine Stichprobe, die blinkt ein button mit css, mit einer allmählichen Farbübergang der base-Farbe von Grau auf rot, wenn Sie gedrückt werden.
InformationsquelleAutor jewelsea
JavaFX2 unterstützt übergänge. So brauchen Sie nicht, um die animation Schritt für Schritt durch.
Haben Sie einen Blick auf diese:
http://docs.oracle.com/javafx/2/animations/basics.htm#CJAJJAGI
Ich weiß. Jewelsea erwähnt, dass JavaFX nicht unterstützt CSS-Animationen und die würde man brauchen, um die einzelnen Schritte animation. Ich wollte nur klarstellen, dass dies ist nicht erforderlich, wenn Sie die übergänge.
InformationsquelleAutor Franz Deschler