「mdlCategory」という名前の DefaultComboBoxModel をそのコードで更新しようとしています。
private void categoriesUpdate(String categoryName, boolean addElement) {
if (!categoryName.equals("")) {
if (addElement) {//that block works propertly
Category c = new Category(-1);
c.setName(categoryName);
mdlCategory.addElement(c);
selAllergenCategory.setSelectedItem(c);
} else {//not works!!
Category cat = (Category) mdlCategories.getSelectedItem();
cat.setName(categoryName);
selAllergenCategory.setSelectedItem(cat);
}
}
}
addElement が true の場合、新しいカテゴリが正しい方法でモデルに追加されます。
「else」ブロックに問題があります... DefaultComboBoxModel からカテゴリを取得してカテゴリを更新しようとすると、モデルを削除して再度追加しても、適切な方法で変更されませんが、カーソルをコンボに渡すと、変更は発生しますが、持続しません。
モデルのカテゴリ オブジェクトを間違った方法で更新していますか?