Имя комбинированного списка SWT / пара ключей
Я хочу, чтобы текст говорил одно, а значение - другое
Текстовый ключ
Но для добавления элементов требуется только строка.
Как Java-программисты обычно хранят пары текст / идентификатор в выпадающих списках
1 ответ
Возможно, вы можете использовать метод setData(String key, Object value) в комбинированном списке, чтобы достичь желаемого.
Пример:
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"
Обратите внимание, что метод getData возвращает объект. Поэтому вы должны привести его к типу, который вы установили с помощью метода setData.
Из-за этого вы не ограничены в выборе значений Strings. Вы можете установить любой объект в качестве значения с помощью метода setData. Просто убедитесь, что вы правильно произвели при получении данных с помощью метода getData.
Редактировать: Кстати, вы можете использовать методы setData и getData в любом виджете SWT.