我在4个选项卡式窗格中有多个JComboBox元素。我希望能够将它们封装到Object []中并调用removeAllItems()
。但是,由于它是Object类型,我无法做到这一点。有没有办法将JComboBox元素放在数组中并仍然可以访问JComboBox方法?
(我已经说明了我想在下面做什么)
示例:
Object[] combo_container = { winners_combo_box, bikes_combo_box,
teams_combo_box, riders_combo_box };
for(Object item : combo_container) {
item.removeAllItems();
}
答案 0 :(得分:1)
for(Object item : combo_container) {
JComboBox tmp = (JComboBox) item;
tmp.removeAllItems();
}
您仍然可以创建JComboBox数组并将所有元素放入其中。警告只是告诉你JComboBox是一个泛型类,所以它期望<TYPE>
。但那没关系,忽略它
答案 1 :(得分:1)
for(Object item : combo_container) {
JComboBox box = (JComboBox) item;
box.removeAllItems();
}
但这不是一个好主意。为什么不是JComboBox数组?像这样:
JComboBox<String>[] combo_container = { winners_combo_box, bikes_combo_box,
teams_combo_box, riders_combo_box };
for(JComboBox box : combo_container)
box.removeAllItems();
当然假设winners_combo_box,bikes_combo_box等是JComboBox类的对象