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 tipos cadastrados na tabela no BD.
public List<TipoDTO> listarTodos() throws PersistenciaException {
List<TipoDTO> listaTipos = new ArrayList<TipoDTO>();
try
{
Connection connection = ConexaoUtil.getInstance().getConnection();
String sql = "SELECT * FROM TB_Tipo";
PreparedStatement statement = connection.prepareStatement(sql);
ResultSet resultset = statement.executeQuery();
while (resultset.next())
{
TipoDTO tipoDTO = new TipoDTO();
tipoDTO.setId(resultset.getInt("id"));
tipoDTO.setNome(resultset.getString("nome"));
listaTipos.add(tipoDTO);
}
connection.close();
}catch (Exception e)
{
e.printStackTrace();
throw new PersistenciaException(e.getMessage(),e);
}
return listaTipos;
}
Aqui o código da classe BO onde lista todos os tipos cadastrados na tabela no BD.
public List<TipoDTO> listaTipos() throws NegocioException
{
List<TipoDTO> lista = null;
try
{
TipoDAO tipoDao = new TipoDAO();
lista = tipoDao.listarTodos();
}catch (Exception e)
{
e.printStackTrace();
throw new NegocioException(e.getMessage(), e);
}
return lista;
}
Aqui o código que converte a lista de vendedores da classe BO em um String
private String[] converteTipos(List<TipoDTO> lista)
{
String[] result = new String[lista.size()];
for (int i = 0; i < lista.size();i++)
{
TipoDTO tipoDTO = lista.get(i);
result[i] = tipoDTO.getNome();
}
return result;
}
Este é o código que carrega a combobox com a String acima, porém só vem os nomes dos tipos cadastrados no BD, como eu faço para exibir a descrição e ao mesmo tempo pegar o ID do nome selecionado na combobox ??
@SuppressWarnings({ "rawtypes", "unused", "unchecked" })
private JComboBox getComboTipo() {
if(comboTipo == null) {
try
{
TipoBO tipoBO = new TipoBO();
listtipos = tipoBO.listaTipos();
@SuppressWarnings("unchecked")
ComboBoxModel comboTipoModel = new DefaultComboBoxModel(converteTipos(tipoBO.listaTipos()));
comboTipo = new JComboBox();
comboTipo.setModel(comboTipoModel);
}catch (Exception e)
{
e.printStackTrace();
}
}
return comboTipo;
}