[Java Beans] Initialisierte ComboBox neue Werte zuweisen

TommyMo

Erfahrenes Mitglied
Hi Leute,

ich habe eine Frage bezüglich JavaBeans und Comboboxen.

Ich arbeite an einer Applikation in der ich bereits vorgefertigte JavaBeans zu Verfügung habe. Diese Beans sind vorwiegend ComboBoxen. Es ist allerdings, aufgrund von bestimmten Ereignissen, nötig die Einträge der ComboBoxen zu ändern. Also wenn z.B. in der ComboBox zum Initialisierungszeitpunkt die Optionen "Hans", "Franz" und "Sepp" verfügbar sind, möchte ich diese durch andere Optionen z.B. "Test1" und "Test2" ersetzen ( somit sind auch nur noch Test1 und Test2 anwählbar ).

Ich habe schon gegoogelt, jedoch leider nichts brauchbares gefunden, außer der Option setFilterEntries. Allerdings benötigt man hierfür IPropertySheetEntry Objekte und hierzu finde ich noch weniger.

Hat jemand einen Tipp, oder weiß wie ein derartiges Problem lösbar wäre?

Danke!

TOM
 
Hallo!

Kannst du bitte mal den Kontext etwas klarer definieren? Stellst du deine Domaenen Objekte in einer ComboBox dar? Unter Swing/AWT/SWT/JFace?
IPropertySheetEntry
...riecht irgendwie nach Eclipse...
willst du einfach Datengrundlage der ComboBox zur Laufzeit aendern?

Gruss Tom
 
Hi Thomas,

jep, richtig erkannt, ich verwende Eclipse dafür.

Die gesamte Applikation zu umreißen ist ein wenig komplex. Es geht im Wesentlichen darum, dass ein Plugin generiert wird. In diesem Plugin werden für bestimmte Elemente JavaBeans erzeugt. Einige der Properties, die für mich wichtig sind und die ich auch ändern möchte, mit Hilfe eines ComboBoxPropertyDescriptor dargestellt. Hier kann man zusätzlich Default-Values und auch die erlaubten Einträge ( diese sind dann auch sichtbar, wenn man die ComboBox anwählt ) festlegen.

Nun möchte ich aber diese Einträge, also die sichtbaren, ändern. Zur Laufzeit. Ich bin mir nur nicht sicher, ob das bei ComboBoxen überhaupt möglich ist, da ja von vornherein fix definierte Values übergeben werden. Wenn ich nämlich mit

Code:
propdesc.setPropertyValue( PROP_ID, NEW_VALUE )

versuche die Einträge zu ändern, dann nimmt er die Änderung nicht an ( NEW_VALUE ist dann ein String[] ).

Gruß
TOM
 
Zurück