【问题标题】:Populating Swing JComboBox from Enum从枚举填充 Swing JComboBox
【发布时间】:2009-09-22 09:32:00
【问题描述】:

我想用来自Enum 的值填充java.swing JComboBox

例如

public enum Mood { HAPPY, SAD, AWESOME; }

并让这三个值填充只读JComboBox

谢谢!

【问题讨论】:

    标签: java swing enums jcombobox


    【解决方案1】:

    尝试:

    new JComboBox(Mood.values());
    

    【讨论】:

    • 这将返回枚举值的确切名称。如果你想要更友好的 UI 名称,JComboBox 将使用重写的 toString() 方法。
    【解决方案2】:

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

    JComboBox<Mood> comboBox = new JComboBox<>();
    comboBox.setModel(new DefaultComboBoxModel<>(Mood.values()));
    

    【讨论】:

    【解决方案3】:

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

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

    【讨论】:

    • 这绝不是回答问题。
    【解决方案4】:

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

    JComboBox<Mood> comboBox_mood = new JComboBox<>();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-25
      • 2018-06-21
      • 1970-01-01
      • 2015-03-04
      • 1970-01-01
      相关资源
      最近更新 更多