Имя комбинированного списка 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.

Другие вопросы по тегам