0

是否可以在运行时实例化其类型在 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();
4

0 回答 0