de.invation.code.toval.graphic.component.EnumComboBox Maven / Gradle / Ivy
package de.invation.code.toval.graphic.component;
import java.util.Arrays;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JComboBox;
import de.invation.code.toval.validate.Validate;
public class EnumComboBox> extends JComboBox{
private static final long serialVersionUID = -3998550187333465250L;
public EnumComboBox(Class enumeration){
this(enumeration, false);
}
public EnumComboBox(Class enumeration, boolean allowNull){
Validate.notNull(enumeration);
int padding = allowNull ? 1 : 0;
Object[] objects = Arrays.copyOf(enumeration.getEnumConstants(), enumeration.getEnumConstants().length + padding);
setModel(new DefaultComboBoxModel(objects));
}
@SuppressWarnings("unchecked")
@Override
public E getSelectedItem() {
try{
return (E) super.getSelectedItem();
} catch(Exception e){
return null;
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy