List
には、カテゴリタイプのカスタムobjects
が格納されています。このList
はControl
クラスです。 List
の入力に問題はありませんが、期待どおりに動作します。問題は、私がクラスにあるpopulateComboBox()
メソッドを呼び出すときに発生します。JComboBoxは、リストに格納された同じオブジェクトの重複コピーを表示します。Java
問題:populateComboBox()
メソッドが呼び出される初めて、JComboBox
ディスプレイList
内のすべてのオブジェクト。 2回目のpopulateComboBox()
メソッドが呼び出されると、JComboBox
はオブジェクトの重複コピーを表示します。
例私はカテゴリータイプの2つのobjects
と言っList
を取り込む場合は、とpopulateComboBox()
方法、JComboBox
ディスプレイC1
C2
を呼び出す(C1
& C2
それらに名前を付けることができます)。 2回目に呼び出されると、C1
C2
C1
C2
と表示されます。三回目、C1
C2
C1
C2``C1
C2
のように...ここで
は、Categoryクラスのクラス内容である:ここで
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;
}
}
は私のControlクラスのセクションです:
public final class Control
{
private static List<Category> categoryList = new ArrayList<>();
public static List<Category> getCatList()
{
return categoryList;
}
}
ビュークラスのpopulateComboBox()
メソッドの内容は次のとおりです。
{
List<Category> catList = Control.getCatList();
for(Category cat: catList)
{
selectCatComboBox.addItem(cat);
}
addItemDialog.setVisible(true);
}
@AndrewThompson私は物事を最小限に抑えようとしました。 –