Me gustaría llenar un java.swing JComboBox
con valores de Enum
.Populating Swing JComboBox de Enum
p. Ej.
public enum Mood { HAPPY, SAD, AWESOME; }
y tienen estos tres valores pueblan un solo lectura JComboBox
.
Gracias!
Me gustaría llenar un java.swing JComboBox
con valores de Enum
.Populating Swing JComboBox de Enum
p. Ej.
public enum Mood { HAPPY, SAD, AWESOME; }
y tienen estos tres valores pueblan un solo lectura JComboBox
.
Gracias!
intento:
new JComboBox(Mood.values());
La solución propuesta por @Pierre es buena. Usualmente usas un DefaultComboBoxModel o un ComboBoxModel o enlaces al ComboBoxModel para cosas más complejas.
Por defecto, un JComboBox no es editable.
Si no quiere (o no puede) el cambio de inicialización con el constructor por defecto, entonces se puede utilizar setModel()
método:
JComboBox<Mood> comboBox = new JComboBox<>();
comboBox.setModel(new DefaultComboBoxModel<>(Mood.values()));
Nota [* Tipo de inferencia para genérico de creación de instancias *] (http: //docs.oracle.com/javase/7/docs/technotes/guides/language/type-inference-generic-instance-creation.html) y [modelo genérico] (http://docs.oracle.com/javase/ 7/docs/api/javax/swing/DefaultComboBoxModel.html), nuevo en Java 7. – trashgod