将VALUE和LABEL设置为Java中的ITEM JComboBox

时间:2013-08-01 22:32:50

标签: java label jcombobox

我有一个JComboBox,其中的项目是查询的结果。组合显示从查询中获取的所有类别名称,对吧?好的,它有效。现在我需要给每个项目一个值,这个值就是产品的ID。

这是我到目前为止所得到的:

    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]);
    }

正如您在代码中看到的那样,&#34;标签&#34;每个项目的名称是它的名称。现在,我如何设置每个项目的ID,以便我可以操作?

1 个答案:

答案 0 :(得分:0)

您需要使用值的ID作为JComboBox中的值,并使用自定义ListCellRenderer查找ID值的名称。

您可以通过按ID构建名称映射,并让渲染器返回值的名称来执行此操作。