Pegar ID do campo selecionado no Combobox
Bom dia a todos,
Estou com uma dúvida em relação a como fazer para pegar o ID de um registro carregador numa combo box, por exemplo, uma combobox carrega e exige os registro de uma tabela do banco de dados mas preciso pegar o ID referente ao registro que será selecionado, será que alguém pode me ajudar?
Aqui o código da classe DAO onde lista todos os vendedores cadastrados na tabela no BD.
public List<VendedorBEAN> listarTodos() throws PersistenciaException {
List<VendedorBEAN> listaVendedor = new ArrayList<VendedorBEAN>();
Connection conn = Conexao.open();
PreparedStatement pstm = null;
String sql = "SELECT * FROM tb_vendedor";
try {
pstm = conn.prepareStatement(sql);
ResultSet resultset = pstm.executeQuery();
while (resultset.next()) {
VendedorBEAN vendedorBean = new VendedorBEAN();
vendedorBean.setId_vendedor(resultset.getInt("id_vendedor"));
vendedorBean.setNome_vendedor(resultset.getString("nome_vendedor"));
listaVendedor.add(vendedorBean);
}
Conexao.close(conn, pstm, resultset);
} catch (SQLException e) {
e.printStackTrace();
throw new PersistenciaException(e.getMessage(), e);
}
return listaVendedor;
}
Aqui o código que converte a lista de vendedores da classe DAO em um String
private String[] converteVendedor(List<VendedorBEAN> lista) {
String[] result = new String[lista.size()];
for (int i = 0; i < lista.size(); i++) {
VendedorBEAN vendedorBEAN = lista.get(i);
result[i] = vendedorBEAN.getNome_vendedor();
}
return result;
}
Este é o código que carrega a combobox com a String acima, porém só vem os nomes dos vendedores cadastrados no BD, como eu faço para exibir o nome e ao mesmo tempo pegar o ID do nome selecionado na combobox ??
@SuppressWarnings({ "rawtypes", "unchecked" })
private JComboBox getJcb_vendedor() {
if(jcb_vendedor == null) {
try {
VendedorDAO vendedorDAO = new VendedorDAO();
ComboBoxModel comboVendedorModel;
comboVendedorModel = new DefaultComboBoxModel(converteVendedor(vendedorDAO.listarTodos()));
jcb_vendedor = new JComboBox();
jcb_vendedor.setModel(comboVendedorModel);
} catch (PersistenciaException e) {
e.printStackTrace();
}
}
return jcb_vendedor;
}Discussão (2)
Carregando comentários...