2010-05-27 20 views
6

Ich möchte den Text eines sagen haben, aber der Wert sagen andereSwt Combobox Name/Schlüsselpaar

Text Key

Aber es braucht nur einen String für Elemente hinzufügen.

Wie Java-Programmierer normalerweise speichern Text/id Paare in Comboboxen

Antwort

13

Vielleicht können Sie die setData (String key, Object value) -Methode des combobox verwenden, um achive, was Sie wollen.

Beispiel:

Combo box = new Combo(parent, SWT.DROP_DOWN); 
String s = "Item 1"; 
box.add(s); 
box.setData(s, "Some other info or object here"); 
s = "Item 2"; 
box.add(s); 
box.setData(s, "This is item two"); 

String value = (String)box.getData("Item 2"); 
// value is now "This is item two" 

beachte, dass die getData Methode ein Objekt zurückgibt. Sie müssen es also in den Typ umwandeln, den Sie mit der setData-Methode festgelegt haben.

Aus diesem Grund sind Sie nicht darauf beschränkt, Strings als Ihre Werte festzulegen. Sie können ein beliebiges Objekt als Wert mit der setData-Methode festlegen. Stellen Sie nur sicher, dass Sie korrekt gewirkt haben, wenn Sie die Daten erneut mit der Methode getData erhalten.

Bearbeiten: BTW, können Sie die setData und getData-Methoden auf einem SWT-Widget verwenden.