我使用DefaultComboBoxModel和自定義項目填充組合框。每個項目都包含一個ID和一個名稱。我遍歷一個表,並基於選擇,我想從組合框中刪除選定的元素。對於我想刪除的項目,我從我正在迭代的表中獲取ID和名稱。我嘗試使用removeItem,它接受一個對象。我將ID和Name傳入我的自定義Item構造函數,但似乎不起作用。誰能告訴我我在這裏失蹤了什麼?刪除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/),簡短,可運行,可編譯,與JCom「JFrame」相關boBox'基於你的類'Item',[可能基於](http://stackoverflow.com/a/14079963/714968),否則搜索'公共無效removeElementAt(INT索引){' – mKorbel