7

我定义枚举:

枚举 itemType {第一,第二,第三};

公共类项目

{

私人项目类型 enmItemType;

...

}

如何使用 JComboBox 在对话框中使用它?意味着,在对话框内,用户将有(第一,第二,第三)的组合框。另外,对每个分子使用某种 ID 会更好吗?(整数)

谢谢。

4

3 回答 3

22

这是我使用的方法:

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 方法允许您提供显示文本,为用户提供有意义的选择。

注意:我也已更改itemTypeItemType类型名称应始终具有前导大写。

于 2010-04-26T16:28:44.797 回答
10
JComboBox combo = new JComboBox(itemType.values());
于 2010-04-26T16:29:16.010 回答
3

假设您知道如何使用 JComboBox 编写对话框,您可以执行以下操作将 Enum 值加载到组合框中:

enum ItemType {First, Second, Third};    
JComboBox myEnumCombo = new JComboBox();
myEnumCombo.setModel(new DefaultComboBoxModel(ItemType.values());

然后获得价值作为枚举你可以做

(ItemType)myEnumCombo.getSelectedItem();

除非您的应用程序逻辑非常需要分配一些有意义的 ID,否则无需为枚举分配 ID。枚举本身已经有一个唯一的 ID 系统。

于 2010-04-26T16:28:13.030 回答