有没有其他方法可以删除JComboBox的所有项目,然后删除AllIllItems()?我在mij app中使用了2个JComboBoxes,当你从第一个组合框中选择一个项目时,相关的项目应该显示在第二个组合框中。当我这样做时,这些项目会在已经存在的项目之后继续追加。当我第一次尝试通过使用removeAllItems()清除组合框时,第二个组合框是空的并且每当我更改第一个组合框时都保持空...第一个组合框保留其所有值...有人看到我的问题吗?
festival是JComboBox:
private JComboBox festival;
private JComboBox zone;
...
public void fillFestivalList(){
festival.removeAllItems();
List festivals = OP.fillFestivalList();
for(Object fest: festivals)
festival.addItem(fest.toString());
}
public void fillZoneList(String festival){
zone.removeAllItems();
List zones = OP.fillZoneList(festival);
for(Object zoneItem: zones)
zone.addItem(zoneItem.toString());
}
答案 0 :(得分:4)
关于,
是否有其他方法可以删除JComboBox的所有项目,然后删除AllIllItems()?
简单地给JComboBox一个新模型。
我会创建一个新的DefaultComboBoxModel<T>
,用最新的条目填充它,然后在我的JComboBox上调用setModel(...)
,并在需要时传入新模型。
答案 1 :(得分:2)
你也可以用这种方式删除所有项目, 但最好给JCombobox一个新的DefaultComboBoxModel就像@Hovercraft Full Of Eels所说的那样
int itemCount = combo.getItemCount();
for(int i=0;i<itemCount;i++){
combo.removeItemAt(0);
}