Ich möchte ein Modell für mein Projekt einrichten, damit meine Controller miteinander kommunizieren können. Ich möchte, dass es einen Setter und Getter hat, um einen einfachen Zugriff auf bestimmte Knoten aus beiden Klassen zu ermöglichen.CSS Style-Eigenschaft an Knoten in JavaFX binden
Meine Frage: Ist es möglich, eine Stileigenschaft (zB "-fx-Hintergrundfarbe: blau") an einen Knoten zu binden?
Aus meiner Recherche sehe ich, dass dies definitiv mit Textwerten für Etiketten möglich ist (erklärt von James_D hier: JavaFX - How to use a method in a controller from another controller?), aber ich habe es schwer herauszufinden, was die Syntax für eine ähnliche Sache mit "setStyle" wäre.
Das Modell habe ich bisher:
public class Model {
private final StringProperty shadow = new SimpleStringProperty("-fx-effect: dropshadow(three-pass-box, rgba(0,0,0,0.24), 10,0,0,0)");
public StringProperty shadowProperty() {
return shadow;
}
public final String getShadow() {
return shadowProperty().get();
}
public final void setShadow(String shadow) {
shadowProperty().set(shadow);
}
}
Ich verstehe, wie ich würde den „Schatten“ Wert von einer Steuerung eingestellt, aber was ich nicht verstehe, ist, wie ich einen Knoten aus einem anderen Controller binden kann auf diese Veränderung zu hören.
sagen Lassen Sie den Knoten ist so etwas wie:
@FXML AnchorPane appBar
ich will „AppBar“ auf Änderungen im Modell „Schatten“ gemacht nehmen. Wie würde das aussehen?
Können Sie ein Beispiel geben, was Sie versucht, und erklären, warum es nicht funktioniert? Im Moment ist unklar, was genau das Problem ist. – Itai
Aktualisierte Frage. – Shane