JComboBox显示存储在JAVA列表中的同一对象的重复副本
我有一个存储类别类型自定义对象的列表。此列表位于控制类中。填充列表没有问题,它按预期工作。当我调用View类中的populateComboBox方法时,问题就出现了 问题是:第一次调用populateComboBox方法时,JComboBox会显示列表中的所有对象。第二次调用PopulateComboxMethod时,JComboBox显示对象的重复副本 例如,如果我用两个类别类型的对象填充所述列表,让它们命名为C1和C2,并调用populateComboBox方法,JComboBox将显示C1 C2。第二次调用时,它显示C1 C2。第三次,C1 C2``C1 C2等等 以下是类别类的类内容:JComboBox显示存储在JAVA列表中的同一对象的重复副本,java,swing,arraylist,jcombobox,Java,Swing,Arraylist,Jcombobox,我有一个存储类别类型自定义对象的列表。此列表位于控制类中。填充列表没有问题,它按预期工作。当我调用View类中的populateComboBox方法时,问题就出现了 问题是:第一次调用populateComboBox方法时,JComboBox会显示列表中的所有对象。第二次调用PopulateComboxMethod时,JComboBox显示对象的重复副本 例如,如果我用两个类别类型的对象填充所述列表,让它们命名为C1和C2,并调用populateComboBox方法,JComboBox将显示C1
public class Category
{
private String catName;
public Category()
{
}
public Category(String str) {
this.catName = str;
}
public String getCatName()
{
return catName;
}
@Override
public String toString()
{
return catName;
}
}
下面是我的控制类的一部分:
public final class Control
{
private static List<Category> categoryList = new ArrayList<>();
public static List<Category> getCatList()
{
return categoryList;
}
}
您可以使用:
selectCatComboBox.removeAllItems();
在开始添加新项目之前。非常感谢您的快速响应。成功了@安德烈·汤普森:我尽量把事情控制在最低限度。
selectCatComboBox.removeAllItems();