【发布时间】:2009-09-22 09:32:00
【问题描述】:
我想用来自Enum 的值填充java.swing JComboBox。
例如
public enum Mood { HAPPY, SAD, AWESOME; }
并让这三个值填充只读JComboBox。
谢谢!
【问题讨论】:
标签: java swing enums jcombobox
我想用来自Enum 的值填充java.swing JComboBox。
例如
public enum Mood { HAPPY, SAD, AWESOME; }
并让这三个值填充只读JComboBox。
谢谢!
【问题讨论】:
标签: java swing enums jcombobox
尝试:
new JComboBox(Mood.values());
【讨论】:
如果您不想(或不能)使用默认构造函数更改初始化,则可以使用setModel() 方法:
JComboBox<Mood> comboBox = new JComboBox<>();
comboBox.setModel(new DefaultComboBoxModel<>(Mood.values()));
【讨论】:
@Pierre 提出的解决方案很好。通常您使用 DefaultComboBoxModel 或 ComboBoxModel 或绑定到 ComboBoxModel 以获得更复杂的东西。
默认情况下,JComboBox 是不可编辑的。
【讨论】:
这也可以只使用默认构造函数而不使用setModel()方法来实现:
JComboBox<Mood> comboBox_mood = new JComboBox<>();
【讨论】: