Java 是否有其他方法可以删除JComboBox的所有项,然后删除AllItems()?

Java 是否有其他方法可以删除JComboBox的所有项,然后删除AllItems()?,java,swing,jcombobox,Java,Swing,Jcombobox,是否有其他方法可以删除JComboBox的所有项,然后删除AllItems()?我在mij应用程序中使用了2个JComboxes,当您从第一个组合框中选择一个项目时,相关项目将显示在第二个组合框中。当我这样做时,这些项目只是在已经存在的项目之后不断追加。然后,当我第一次尝试使用removeAllItems()清除组合框时,第二个组合框是空的,每当我更改第一个组合框时,它都会保持为空。。。第一个组合框保留其所有值。。。有人看到我的问题了吗 节日是JComboBox: private JComboB

是否有其他方法可以删除JComboBox的所有项,然后删除AllItems()?我在mij应用程序中使用了2个JComboxes,当您从第一个组合框中选择一个项目时,相关项目将显示在第二个组合框中。当我这样做时,这些项目只是在已经存在的项目之后不断追加。然后,当我第一次尝试使用removeAllItems()清除组合框时,第二个组合框是空的,每当我更改第一个组合框时,它都会保持为空。。。第一个组合框保留其所有值。。。有人看到我的问题了吗

节日是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());
}
关于,

是否有其他方法可以删除JComboBox的所有项,然后删除AllItems()

只需给JComboBox一个新模型


我将创建一个新的
DefaultComboxModel
,用最新的条目填充它,然后在我的JComboBox上调用
setModel(…)
,在需要时传入新模型。

您也可以通过这种方式删除所有项目, 但最好给JCombobox一个新的DefaultComboxModel,就像满是鳗鱼的气垫船所说的那样

 int itemCount = combo.getItemCount();

        for(int i=0;i<itemCount;i++){
            combo.removeItemAt(0);
         }
int itemCount=combo.getItemCount();

对于(int i=0;i)这可能不是真正的代码,或者您调用了错误的方法。我刚刚复制了我认为必要的部分。如果您需要,我可以添加解决问题所需的代码。因此,我应该将它们添加到DefaultComboxModel zoneModel,然后执行zone.setModel,而不是将项目添加到JComboxZone(zoneModel)?+1,@Maartenmeuesen参见一个简单示例