36

我想用 ajava.swing JComboBox中的值填充 a Enum

例如

public enum Mood { HAPPY, SAD, AWESOME; }

并让这三个值填充一个 readonly JComboBox

谢谢!

4

4 回答 4

48

尝试:

new JComboBox(Mood.values());
于 2009-09-22T09:34:54.383 回答
22

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

JComboBox<Mood> comboBox = new JComboBox<>();
comboBox.setModel(new DefaultComboBoxModel<>(Mood.values()));
于 2012-02-18T12:22:50.593 回答
1

@Pierre 提出的解决方案很好。通常,您使用 DefaultComboBoxModel 或ComboBoxModel或绑定到 ComboBoxModel 以获得更复杂的东西。

默认情况下,JComboBox 不可编辑。

于 2009-09-22T13:25:47.100 回答
0

这也可以仅使用默认构造函数而不使用setModel()方法来实现:

JComboBox<Mood> comboBox_mood = new JComboBox<>();
于 2020-05-07T09:59:32.393 回答