2013-08-01 49 views
0

我有一個JComboBox,其中的項目是查詢的結果。組合顯示從查詢中獲取的所有類別名稱,對嗎?好的,它的工作原理。現在我需要給每個項目一個值,這將是產品的ID。將VALUE和LABEL設置爲Java中的ITEM JComboBox

這是我到目前爲止有:

final JComboBox proveedorCombo = new JComboBox(); 

    contentPanel.add(proveedorCombo); 

    ProveedorDAO dao = new ProveedorDAO(); 

    List<Proveedor> proveedor = dao.getAll(); 

    Object[][] elementos = new Object[proveedor.size()][2]; 

    for (int i = 0; i < proveedor.size(); i++) { 
     Proveedor p = proveedor.get(i); 
     elementos[i][0] = p.getId(); 
     elementos[i][1] = p.getNombre(); 
     proveedorCombo.addItem(elementos[i][1]); 
    } 

正如你可以在代碼中看到,每個項目的「標籤」是它的名字。現在,我如何設置每個項目的ID以便我可以操作?

回答

0

您需要使用值的ID作爲JComboBox中的值,並使用自定義ListCellRenderer來查找ID值的名稱。

您可以通過根據其ID創建名稱的地圖,並讓渲染器返回值的名稱來完成此操作。

相關問題