Есть ли способ, чтобы сделать акт jcombobox в, как в HTML выбрать?
То, что я пытаюсь сделать, имитирует HTML-тег Select. Я хочу отображать текст в качестве опции, но при выборе я буду использовать его значение.
Например, у меня был бы список названий стран. Однако, когда пользователь выбирает Японию, я хочу получить код локали для этой страны. Таким образом, пользователь видит, что они выбрали Японию, но мой код получит "ja_JP" или что-то еще.
Я пытаюсь избежать хранения названия страны и кода локали в хэш-карте или что-то в этом роде.
2 ответа:
Создайте объект Country, содержащий отображаемое имя и код страны. Вы можете сделать быстрый и грязный и переопределить toString, чтобы показать отображаемое имя, а затем просто получить код, когда вам это нужно, когда пользователь выбирает что-то.
public class Country { String display; String code; @Override public String toString() { return display; } public String getCode() { return code; } }
Оставил конструктор, так как я ленив. Если вам не нравится переопределение toString, вы также можете создать свой собственный рендерер, который будет работать с объектами страны, и использовать отображение вместо этого через новый геттер.