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