Ich habe ein einfaches Beispiel für den Add-on-Schalter mit vaadin, was ich will ist, den Status des Schalters zu halten, auch wenn ich die Benutzeroberfläche aktualisieren, dh ich mehrere Registerkarten unterstützen , aber ich kann es nicht tun, dieses Push-Beispiel ist sehr ähnlich zu dem, was ich tun möchte, aber mit einem textField.Switch-Add-on mit Push, vaadin
Zu meinem Beispiel füge ich eine Lampe, so dass, wenn ein anderer die Anwendung greift auf den aktuellen Zustand der Lampe sehen. Mein Beispiel in Github ist dies mit nur 3 Klassen
Dies ist der swithc Zuhörer, die meine Birne ändert, aber wenn ich den Booleschen Wert (true oder false) erhalten, habe ich noch nicht die richtige Art und Weise verstehen, die andere Switch
switchTemu.addValueChangeListener(new Property.ValueChangeListener() {
private static final long serialVersionUID = 1L;
@Override
public void valueChange(Property.ValueChangeEvent event) {
boolean estado = (boolean) event.getProperty().getValue();
ScrumBoard.addSwitch(estado);
switchTemu.removeValueChangeListener(this);
if(estado == Boolean.TRUE) {
bombilla.setIcon(bombillaON);
}else {
bombilla.setIcon(bombillaOFF);
}
switchTemu.addValueChangeListener(this);
}
});
aktualisieren
schiebenIn meinem Beispiel github Leistung, ändern Sie den Status aller Schalter auf alle UI, aber ich weiß immer noch nicht, wie man den Zustand der Schalter
Für mich ist es ein wenig unklar, was Sie nach seing den Code tun wollen und das Lesen der Beschreibung: ** 1) ** Haben Sie einen Bulb/Switch-Status, der auf Ihren Benutzeroberflächen gemeinsam genutzt wird, und wenn er in einer UI aktiviert ist, aktualisieren Sie den Rest? ** 2 **) Haben Sie eine Glühbirne/Schalter für jedes UI und ...? Ich nehme an, es ist ** 1) **, also sollten Sie nur einen statischen Schalterstatus (keine Liste) und eine Liste von Listenern haben. Sobald der Status geändert wurde, übertragen Sie den neuen Status an alle Listener, sodass die entsprechenden Benutzeroberflächen aktualisiert werden. – Morfic
Hallo @Morfic vielen Dank für die Hilfe, ist 1), wenn ich den Schalter, der die andere Benutzeroberfläche betrifft ändern, und nur diesen Teil tatsächlich tut, ist mein Problem, dass der Status des Schalters nicht beibehalten wird, wenn ich den Browser aktualisieren, Ich habe mehrere Dinge versucht, aber ich bin verwirrt: s, das heißt, wenn mein Schalter eingeschaltet ist, sollte ich sogar den Tab aktualisieren, Ich möchte PreserveOnRefresh nicht verwenden: s, Als Beispielcode von Markus, versuche ich um es als eine Anleitung für meinen Schalter zu verwenden, und seinen Zustand beizubehalten, wie sie in ihrem Beispiel sogar den Browser aktualisieren –