是否可以实例化一个在运行时在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();