JComboBox
에 객체 이름을 채우려고합니다. 개체는 범주 형식이며 범주 클래스의 ArrayList
(categoryList
)에 저장됩니다. 나는 ArrayList
2 개체를 채울 때JComboBox에 ArrayList에 저장된 사용자 정의 객체 채우기
List<Category> catList = new ArrayList<Category>();
catList = Category.getCatList();
Category list[] = new Category[catList.size()];
list = catList.toArray(list);
for(int i = 0; i <list.length; i++)
{
selectCatComboBox.addItem(list[i].getCatName());
}
addItemDialog.setVisible(true);
: 여기
public class Category {
private static String catName;
private static List<Category> categoryList;
public static void addToCatList(String str)
{
Category cat = new Category();
Category.setCatName(str);
categoryList.add(cat);
}
public static List<Category> getCatList()
{
return categoryList;
}
public static String getCatName()
{
return catName;
}
public static void setCatName(String catName)
{
Category.catName = catName;
}
@Override
public String toString()
{
return catName;
}
}
가
JCombobox
(:
populateComboBox()
메소드 이름)을 채우는 코드 : 여기
는
Category
클래스의 내용입니다 이름이
Obj1
이고
Obj2
인 경우 다음과 같은 문제가 발생합니다.
populateComboBox()
이 호출되면 콤보 상자는 두 번째 개체 만 표시합니다. 즉,Obj2
만 표시합니다. 예상되는 디스플레이는Obj1
,Obj2
입니다.Obj2
만 표시됩니다.populateComboBox()
을 두 번 호출하면 콤보 상자에 두 개의Obj2
이 표시됩니다. 세 번 호출하면 세 개의Obj2
이 표시됩니다. 즉, 메소드가 호출되는 횟수, 콤보 상자에 표시되는 횟수는Obj2
입니다.categoryList
ArrayList
은Category
클래스 안에 있어야합니까? 또는 컨트롤 클래스 내부에 있어야합니까? 나는 이것과 약간 혼동한다.
@ 앤드류 톰슨 편집 해 주셔서 감사합니다! –