Duvida com ComboBox pegar id do item selecionado

2 respostas
The_Rogue

Bom dia,

Novamente recorro a ajuda de vcs:

Estou com um problema com o uso do combobox, meu combo usa o modelo de o membro discorpio ensinou nesse tópico: http://www.guj.com.br/java/261022-jcombobox-pega-nome-e-jtextfield-retorna-id#1362476.

Ele está funcionando buscando do banco os valores e preenchendo o combo, porém no meu cadastro eu apenas armazeno na outra tabela o id dos valores listados, pois o mesmo é uma chave estrangeira que liga a tabela lotes com produtos.

No combo ele exibi para mim a lista de produtos cadastrados e em lote eu cadastro o id do produto, numero do lote e validade.

essa função: ItemStateChanged

JComboBox comboBox = new JComboBox(new DBComboModel("nome_produto","Select idproduto, nome_produto From Medicamento Order By nome_produto")); comboBox.addItemListener(new ItemListener() { public void itemStateChanged(ItemEvent e) { txtidmedicamento.setText((String)e.getItem()); } }); comboBox.setBounds(91, 41, 131, 20); panel.add(comboBox);

Esta fazendo com que meu campo txt armazene o nome do produto, pois será ela que enviarei para ser cadastrado no banco, porém não é o nome que eu tenho que enviar e sim o id do nome que eu selecionei no combo. A consulta do sql retorna o idproduto e o nomeproduto, o nome está sendo exibido no combo e eu necessito que o id desse nome va para o txtidmedicamento. Tem como fazer isso??

Desde já agradeço,

2 Respostas

ViniGodoy

Repetindo o que falei naquele tópico:

Ao invés de colocar apenas uma coluna no combobox, coloque um objeto produto inteiro.

O combobox tem a incrível capacidade de trabalhar com objetos, não só com Strings, use-a. ;)

The_Rogue

ViniGodoy:
Repetindo o que falei naquele tópico:

Ao invés de colocar apenas uma coluna no combobox, coloque um objeto produto inteiro.

O combobox tem a incrível capacidade de trabalhar com objetos, não só com Strings, use-a. ;)

Sera que poderia mostrar um exemplo de como fazer isso??? Tenho que mexer no DBComboModel mais onde?

Criado 4 de fevereiro de 2012
Ultima resposta 4 de fev. de 2012
Respostas 2
Participantes 2