从Enum填充Swing JComboBox

时间:2009-09-22 09:32:01

标签: java swing enums jcombobox

我想使用java.swing JComboBox中的值填充Enum

e.g。

public enum Mood { HAPPY, SAD, AWESOME; }

并将这三个值填充为只读JComboBox

谢谢!

4 个答案:

答案 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<>();