我想使用java.swing JComboBox
中的值填充Enum
。
e.g。
public enum Mood { HAPPY, SAD, AWESOME; }
并将这三个值填充为只读JComboBox
。
谢谢!
答案 0 :(得分:43)
尝试:
new JComboBox(Mood.values());
答案 1 :(得分:18)
如果您不想(或不能)使用默认构造函数更改初始化,则可以使用setModel()
方法:
JComboBox<Mood> comboBox = new JComboBox<>();
comboBox.setModel(new DefaultComboBoxModel<>(Mood.values()));
答案 2 :(得分:1)
@Pierre提出的解决方案很好。通常,您使用DefaultComboBoxModel或ComboBoxModel或绑定到ComboBoxModel以获取更复杂的内容。
默认情况下,JComboBox不可编辑。
答案 3 :(得分:0)
这也可以仅使用默认构造函数而无需使用setModel()
方法来实现:
JComboBox<Mood> comboBox_mood = new JComboBox<>();