Ich habe eine JavaFX FXML-Szene mit einer Anzahl von Kreisformen. Jeder Kreis repräsentiert eine Glühbirne. Eine Glühbirne ist eingeschaltet, wenn sie eine bestimmte JavaFX CSS Klasse hat, sagen wir "lightOn", sonst ist sie aus. Das CSS definiert das Aussehen des Kreises, so dass es scheint, wenn es die "lightOn" -Klasse hat und abgeblendet, wenn es keine Klasse hat.Ändern Sie die JavaFX-Stilklasse basierend auf dem Modellstatus
Ich habe auch ein einfaches Java-Objekt als Modell, das eine Sammlung von Booleschen Werten enthält. Jeder boolesche Wert gehört zu einer einzelnen Glühbirne der Ansicht und zeigt an, ob das Licht ein- oder ausgeschaltet ist.
Wie kann die Stilklasse der einzelnen "Glühbirnen" der Ansicht mit dem booleschen Feld des Modells verbunden werden, das ihren Zustand darstellt? I.e. Die Style-Klasse muss aktualisiert werden, wenn sich der boolesche Wert ändert.
(Es ist nicht erforderlich, dass die Stilklasse automatisch durch eine Art von Eigenschaftenbindung aktualisiert wird - obwohl das auch in Ordnung wäre. Es wäre ausreichend, wenn die Ansicht zum Beispiel von einem Controller aktualisiert würde Instanz, die das Modell regelmäßig abfragt.)
Es dauerte eine Weile, Ihre Lösung zu verdauen. Es ist wirklich großartig in vielen Aspekten. Besonders mag ich das Drehen der Kreise in benutzerdefinierte "Bulb" -Steuerelemente. Dies macht ihre Rolle in der Sicht deutlich klarer als der einfache "Kreis". – jhunovis