0

我有一个带有多个 JComboBoxes 的 JPanel 供用户输入。每个 JComboBox 都使用枚举的值进行实例化。这些 JComboBoxes 有好几个,所以我想要一个方法来实例化和设置每一个。例如:

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?

4

1 回答 1

1

尝试使用类似(在 Java 7 下)...

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);

例如,在 Java 6 下...

于 2013-09-30T03:54:14.560 回答