Swing JGoodies Binding: Bindung lösen

Eldorado

Bekanntes Mitglied
Guten Tag,

ich habe gerade folgendes Problem und finde keine Lösung dafür:

Ich habe eine Liste von Objekten und rechts daneben Textfelder für die Wert. Sobald ein neues Objekt in der Liste ausgewählt wird, soll die Bindung zu dem alten Objekt gelöst und mit
Code:
Bindings.bind
an das neue Objekt verbunden werden. Das Binden klappt auch, aber ich finde keine Lösung für das Lösen der Verbindung. Ich habe es auch schon mit
Code:
Bindings.removeComponentPropertyHandler
versucht. Dies hatte aber leider keinen Effekt.

Vielen Dank schon mal für Hilfe. Bei Bedarf stelle ich auch noch konkreten Quellcode zur Verfügung.

mfg
Eldorado
 
Zuletzt bearbeitet:
Ich stehe gerade auch vor dem Problem wie ich generell eine Bindung bei JGoodies Binding lib wieder lösen kann?!

Mir ist eben aufgefallen, das die lib nicht mit weak References arbeitet. Ich erstelle nun einige GUI Komponenten mit der BasicComponentFactory, bzw. mit dem PropertyConnector werden auch einige Attribute "gebinded".

Wie kann man solche Bindungen wieder lösen wenn z.B. der Dialog, welcher die gebundenen Swing Komponenten enthält, wieder geschlossen wird?
 
Stimmt hatte ich noch nicht gesehen. Werde mal prüfen obs schon umgesetzt wurde.

Hab aber nach eingehender Studie der API noch bisschen was gefunden je nach Art der Bindung:

PropertyAdapter.connect --> release()
PresentationModel --> release()
Bindings.bind --> Bindings.removeComponentPropertyHandler(component)
BasicComponentFactory --> Bindings.removeComponentPropertyHandler(component)

Sollte zumindest so funktionieren.

Werde wohl meine Models eher ändern, da ich als Basisklasse die Model Klasse von JGoodies nutze. Vielleicht ersetze ich die durch eine eigene Implementierung mit Weak References. Kapselt ja letztlich nur den PropertyChangeSupport. Dürfte einfacher sein als auf jedem GUI Dialog ect. eine Art "finalize()" Methode aufzurufen um die Bindungen zu lösen.
 

Zurück
Oben