我定义了枚举:
enum itemType {First,Second,Third};
公共类项目
{
private itemType enmItemType;
...
}
如何在使用JComboBox的对话框中使用它? 意思是,在对话框内,用户将有组合框(第一,第二,第三)。 另外,对每个分子使用某种ID更好吗? (整数)
感谢。
答案 0 :(得分:21)
这是我使用过的方法:
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
,因为类型名称应始终具有前导上限。
答案 1 :(得分:8)
JComboBox combo = new JComboBox(itemType.values());
答案 2 :(得分:3)
假设您知道如何使用JComboBox对对话框进行编码,您可以执行以下操作将Enum值加载到组合框:
enum ItemType {First, Second, Third};
JComboBox myEnumCombo = new JComboBox();
myEnumCombo.setModel(new DefaultComboBoxModel(ItemType.values());
然后以你能做的枚举来获得价值
(ItemType)myEnumCombo.getSelectedItem();
除非您的应用程序逻辑需要分配一些有意义的ID,否则无需为枚举分配ID。枚举本身已经有一个独特的ID系统。