Java 使用枚举填充通用JComboBox

Java 使用枚举填充通用JComboBox,java,swing,enums,jcombobox,Java,Swing,Enums,Jcombobox,我有一个JPanel,有多个JComboBox供用户输入。每个JComboBox都用一个枚举的值实例化。有几个JComboxes,所以我想有一个方法来实例化和设置每个JComboxes。例如: private JComboBox card_type_box = this.createCombo(CardType.values()); ... private JComboBox createCombo(CardType[] card_types) { final JComboBox

我有一个JPanel,有多个JComboBox供用户输入。每个JComboBox都用一个枚举的值实例化。有几个JComboxes,所以我想有一个方法来实例化和设置每个JComboxes。例如:

private JComboBox card_type_box = this.createCombo(CardType.values());

...   

private JComboBox createCombo(CardType[] card_types)
{
  final JComboBox combo = new JComboBox(card_types);
  combo.setSelectedIndex(0);
  combo.addActionListener(this);
  ...
  return combo;
}
此方法的问题在于它只接受CardType类型的枚举。是否可以让此方法接受任意枚举来创建新的JComboBox?

尝试使用类似的方法(在Java 7下)

private JComboBox createCombo(E[]值){
最终JComboBox组合=新JComboBox(值);

private JComboBox createCombo(E[]值){
最终JComboBox组合=新JComboBox(值);

例如,在Java 6下…

您不能使用泛型参数参数化JComboBox,但在其他情况下这是可行的。谢谢。@TroySquillaci是的,您可以,但您需要使用Java 7;)@TroySquillaci感谢您的好主意。以后一定要记住这一点;)
private <E extends Enum> JComboBox<E> createCombo(E[] values) {
    final JComboBox<E> combo = new JComboBox(values);
private <E extends Enum> JComboBox createCombo(E[] values) {
    final JComboBox combo = new JComboBox(values);