我有一个带有多个JComboBox的JPanel供用户输入。每个JComboBox都使用枚举值进行实例化。有几个这样的JComboBox,所以我想有一个方法来实例化和设置每个。例如:
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?
答案 0 :(得分: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下,例如......