如何在JComboBox中添加不同的类类型?

时间:2013-02-17 01:53:02

标签: java swing generics jcombobox

是否可以实例化一个在运行时在JComboBox中设置类型的对象?

假设我有一个抽象类Fruits。 我的课程AppleBanana已延长Fruits。 有一个对象将在运行时实例化:Fruits chosenFruit

我想做这样的事情:

Fruits chosenFruit;
JComboBox<Fruits> combo = new JComboBox<Fruits>();

Apple appleCombo = new Apple();
Banana bananaCombo = new Banana();

combo.add(appleCombo );
combo.add(bananaCombo);

// When user chose a fruit in JComboBox and clicked OK:
chosenFruit = new combo.getSelectedItem().getClass(); // or .getType() ???

这里的问题是,我实例化了两个对象(appleCombo和bananaCombo)只是为了将它们添加到JComboBox。但我希望只有新对象的类型才能在JComboBox中显示并由用户设置。 我希望这是合理的。

提前致谢!

修改 那么,有没有办法做这样的事情:

JComboBox<Class> combo = new JComboBox<Class>();
combo.add(Apple);
combo.add(Banana);
Fruits chosenFruit = new combo.getSelectedItem();

0 个答案:

没有答案