封装JComboBox以确保字段为空

时间:2014-04-03 22:17:20

标签: java arrays swing jcombobox

我在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();
}

2 个答案:

答案 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类的对象