2009-09-22 11 views
27

java.swing JComboBoxEnumの値を設定したいと思います。EnumからSwing JComboBoxを読み込む

public enum Mood { HAPPY, SAD, AWESOME; } 

これらの3つの値には、読み取り専用であるJComboBoxが設定されています。

ありがとうございます!

答えて

37

試してみてください。

new JComboBox(Mood.values()); 
1

@Pierreによって提案された解決策が良いです。通常は、DefaultComboBoxModelまたはComboBoxModelを使用するか、より複雑なものについてはComboBoxModelへのバインディングを使用します。

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

16

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

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

注[一般的なインスタンス作成*用*型推論](HTTPを: //docs.oracle.com/javase/7/docs/technotes/guides/language/type-in​​ference-generic-instance-creation.html)および[generic model](http://docs.oracle.com/javase/)を参照してください。 7/docs/api/javax/swing/DefaultComboBoxModel.html)、Java 7の新機能です。 – trashgod

関連する問題