Я заполняю combobox, используя DefaultComboBoxModel и пользовательский элемент. Каждый элемент содержит идентификатор и имя. Я повторяюсь через таблицу, и на основе выбора я хотел бы удалить выбранные элементы из выпадающего списка. Для элементов, которые я хочу удалить, у меня есть идентификатор и имя из таблицы, через которую я выполняю итерацию. Я попытался использовать removeItem, который принимает объект. Я передаю идентификатор и имя в свой собственный конструктор элементов, но это не работает. Может ли кто-нибудь сказать мне, что мне здесь не хватает?Удаление определенного элемента из Jcombobox
Код для заполнения поля со списком:
Vector<Object> companyList = new Vector<Object>();
while(rs.next()){
companyList.addElement(new Item(rs.getInt(1),rs.getString(2)));
}
DefaultComboBoxModel cmod = new DefaultComboBoxModel(companyList);
companyName.setModel(cmod);
Код для заказа Товар:
class Item
{
private int id;
private String name;
public Item(int id, String name)
{
this.id = id;
this.name = name;
}
public int getId()
{
return id;
}
public String getName()
{
return name;
}
public String toString()
{
return name;
}
}
код для удаления Пункт (жестко закодированы для этого примера):
companyName.removeItem(new Item(50002,"ALLIED WASTE SYSTEMS"));
RemoveItem говорит он принимает объект, поэтому я не уверен, почему это не сработает. Любая помощь будет оценена!
Должно ли это быть 'companyList.removeItem (...' вместо 'companyName ...'? –
для лучшей помощи скорее отправить сообщение [SSCCE] (http://sscce.org/), короткий, выполнимый, компилируемый, только о 'JFrame' с' JComboB ox' на основе вашего класса 'Item', [может быть основан на] (http://stackoverflow.com/a/14079963/714968), в противном случае поиск' public void removeElementAt (int index) {' – mKorbel