是否可以在运行时实例化其类型在 JComboBox 中设置的对象?
假设我有一个抽象类Fruits
。我有课程Apple
和Banana
扩展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();