All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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