提问者:小点点

有没有另一种方法可以删除JComboBox的所有项目,然后删除AllItems()?


有没有另一种方法可以删除JComboBox的所有项目,然后删除AllItems()?我在 mij 应用程序中使用 2 个 JComboBox,当您从第一个组合框中选择一个项目时,相关项目应该显示在第二个组合框中。当我这样做时,这些项目会一直附加到已经存在的项目之后。当我第一次尝试使用 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());
}

共2个答案

匿名用户

关于

有没有另一种方法可以删除JComboBox的所有项目,然后删除AllItems()?

只需给JComboBox一个新的模型。

我会创建一个新的默认组合框模型

匿名用户

你也可以用这种方式删除所有项目,但最好给JCombobox一个新的默认组合框模型,就像@Hovercraft充满鳗鱼说的那样

 int itemCount = combo.getItemCount();

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