从Enum填充Swing JComboBox

mha*_*sen 33 java enums swing jcombobox

我想用一个来填充a java.swing JComboBox的值Enum.

例如

public enum Mood { HAPPY, SAD, AWESOME; }
Run Code Online (Sandbox Code Playgroud)

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

谢谢!

Pie*_*rre 43

尝试:

new JComboBox(Mood.values());
Run Code Online (Sandbox Code Playgroud)

  • 这将返回枚举值的确切名称。如果您想要更多 UI 友好名称,JComboBox 将使用覆盖的 toString() 方法。 (2认同)

And*_*nko 18

如果您不想(或不能)使用默认构造函数更改初始化,则可以使用setModel()方法:

JComboBox<Mood> comboBox = new JComboBox<>();
comboBox.setModel(new DefaultComboBoxModel<>(Mood.values()));
Run Code Online (Sandbox Code Playgroud)