Я определяю перечисления:
перечисление itemType {Первый, Второй, Третий};
общедоступный класс Объект
{
частный itemType enmItemType;
...
}
Как я использую его в использовании Диалогового окна JComboBox? Средства, в диалоговом окне, у пользователя будет поле комбинированного списка с (Первым, Вторым, Третьим). Кроме того, лучше использовать своего рода идентификатор для каждого числителя? (Целое число)
спасибо.
Я использовал следующий подход:
enum ItemType {
First("First choice"), Second("Second choice"), Third("Final choice");
private final String display;
private ItemType(String s) {
display = s;
}
@Override
public String toString() {
return display;
}
}
JComboBox jComboBox = new JComboBox();
jComboBox.setModel(new DefaultComboBoxModel(ItemType.values()));
Переопределение метода toString позволяет отображать текст, который предоставляет пользователю значимые варианты выбора.
Примечание. Я также изменил itemType
на ItemType
, поскольку имена типов всегда должны иметь начальную заглавную букву.
Предполагая, что вы знаете, как закодировать диалоговое окно с помощью JComboBox, вы можете сделать следующее, чтобы загрузить значения Enum в поле со списком:
enum ItemType {First, Second, Third};
JComboBox myEnumCombo = new JComboBox();
myEnumCombo.setModel(new DefaultComboBoxModel(ItemType.values());
Затем, чтобы получить значение как enum, вы могли бы сделать
(ItemType)myEnumCombo.getSelectedItem();
Нет необходимо назначать идентификаторы перечислениям, если логика вашего приложения не нуждается в назначении какого-либо значимого идентификатора. Само перечисление уже имеет уникальную систему идентификаторов.