web-dev-qa-db-ja.com

EnumからSwing JComboBoxを生成する

Java.swing JComboBoxEnumの値を使用します。

例えば.

public enum Mood { HAPPY, SAD, AWESOME; }

これらの3つの値を読み取り専用JComboBoxに入力します。

ありがとう!

33
mhansen

試してください:

new JComboBox(Mood.values());
43
Pierre

デフォルトのコンストラクタで初期化を変更したくない(または変更できない)場合は、setModel()メソッドを使用できます。

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

@Pierreによって提案されたソリューションは優れています。通常、DefaultComboBoxModelまたは ComboBoxModel またはComboBoxModelへのバインディングを使用して、より複雑なものを作成します。

デフォルトでは、JComboBoxは編集できません。

1
John Doe