Ich habe einen Gehirnkrampf, der versucht, den richtigen Weg zu JGoodies Bindings in meiner Anwendung zu verstehen.jgoodies Bindings + indirekte Änderungen
Ich habe eine Klasse Artikel, die eine Bean ist, die schreibgeschützte Eigenschaften hat. Article
ist eine "einfache" Bean und verwaltet keine Eigenschaftenlistener, da sich die Eigenschaften nicht ändern. Ich habe ein Swing JPanel, mit dem ich bestimmte Eigenschaften eines Artikels anzeigen möchte. Verschiedene Artikelobjekte können zu unterschiedlichen Zeiten betrachtet werden.
Ich suche nach etwas (X), die die folgenden durch ein oder mehrere Objekte tut:
- X enthält den aktuell angezeigten Artikel. Ich kann
X.setArticle()
undX.getArticle()
anrufen, um zu einem anderen Artikel zu wechseln. Es gibt keine andere Möglichkeit, den gerade angesehenen Artikel zu ändern, ich muss durch X gehen, damit er weiß, dass ich ihn ändere. - Wenn ich mein JPanel einrichte, möchte ich X verwenden, um schreibgeschützte JTextFields zu erstellen, die an verschiedene Eigenschaften des aktuell angezeigten Artikels gebunden sind (Titel, Autoren usw.)
- (dies folgt aus # 1 und # 2) Immer wenn X.setArticle() aufgerufen wird, wird der Inhalt der Textfelder automatisch aktualisiert.
Ich habe mit BeanAdapter versucht, die Datenmodelle aus einem Artikel in einem Valueholder enthalten extrahieren und BasicComponentFactory.createTextField(), um die Textfelder zu erstellen, und es scheint, alles außer zu arbeiten, dass ich ein com.jgoodies.binding.beans.PropertyUnboundException
sich beschweren, dass meine Artikelklasse ungebundene Eigenschaften hat. Duh! Ich weiß das, ich kann einfach nicht herausfinden, wie man die richtigen "Klempner" dazu bringt, damit umzugehen. Jede Article
ist nicht änderbar, aber der aktuell betrachtete Artikel kann auf eine andere verweisen.
irgendwelche Vorschläge?