Bom estou fazendo uma aplicação para Patrimônios… A dúvida é o seguinte tenho um JComboBox e um jTextFiled que o JComboBox está mostrando as informações do Banco de Dados. O que eu quero é que ao selecionar uma opção do JComboBox no caso o Nome do Setor ele traga o código desse setor em um JTextField. Mas o meu código está trazendo a mesma informação “Nome do Setor” que está no JComboBox… Se alguém tiver alguma idéia eu agradeço :roll:
segue o meu código
privatevoidformWindowOpened(java.awt.event.WindowEventevt){/***** Preenche o JCombBox com Do Rementete*****/try{// String custo = cmbDestino.getSelectedItem().toString();ClassConectaconexao=newClassConecta();conexao.conecta();Statementstmt=conexao.con.createStatement();ResultSetc_custo=stmt.executeQuery("select * from centro_custo order by setor");while(c_custo.next()==true){cmbDestino.addItem(c_custo.getString("setor"));//txtCentroCustoOrigem.setText(c_custo.getString("centro_de_custo"));cmbDestino.addItemListener(newItemListener(){publicvoiditemStateChanged(ItemEvente){if(e.getStateChange()==ItemEvent.SELECTED){txtCentroCustoOrigem.setText(""+e.getItem());}}});}c_custo.close();stmt.close();}catch(SQLExceptione){JOptionPane.showMessageDialog(null,"Ocorreu um erro no sistema, se persistir contate o Administrador '"+e+"","ATENÇÃO",JOptionPane.WARNING_MESSAGE);}}
Só basta trocar a palavra “Visitante” por “Setor” no exemplo que dei nesse tópico.
Leandro-Freitas
Bom gostária de entender sobre o código do link que você passou???
ViniGodoy
Qual é a dúvida?
Leandro-Freitas
Bom mas como ele vai mostrar o resultado de outro campo do Banco de Dados no JTextField, pois ele ja mostrava no JComboBox o resultado do Campo do BD centro_custo, mas gostária de mostrar o código de cada um dos nomes em JTextField
A partir do momento que você cadastrar objetos na sua combo, fica bem fácil pegar o id do objeto selecionado a joga-lo no JTextField.
Leandro-Freitas
Bom a forma que “consegui” fazer com que aparece o id
foi deixando o JTextField assim, mas ele não altera o id conforme é selecionado no jComboBox… txtCentroCustoOrigem.setText(c_custo.getString(“centro_de_custo”));
Leandro-Freitas
ahhh outra forma que quase consegui também, mas ele pega o mesmo valor selecionado na JComboBox e mostra no JTextField, mas foi no ItemStateChanged
Use a forma que está no link que te passei. O resto, é gambiarra.
Leandro-Freitas
Novamente estou com muita dúvida quanto ao JComboBox, pois e fiz conforme o link que você passou... ele lista os registros do Banco no JComboBox, mas a minha dúvida ainda é como mostra o código do registro selecionado no JTetxFild.... Segue o que eu fiz!!!
privatevoidformWindowOpened(java.awt.event.WindowEventevt){/***** Preenche o JCombBox com Do Rementete*****/try{// String custo = cmbDestino.getSelectedItem().toString();ClassConectaconexao=newClassConecta();conexao.conecta();Statementstmt=conexao.con.createStatement();ResultSetc_custo=stmt.executeQuery("select * from centro_custo where centro_de_custo order by setor");while(c_custo.next()){Setorsetores=newSetor(c_custo.getInt("centro_de_custo"),c_custo.getString("setor"));cmbDestino.addItem(setores);//txtCentroCustoOrigem.setText(cmbDestino.getActionCommand().toCharArray().toString());//.getSelectedItem().toString());}c_custo.close();stmt.close();}catch(Exceptionerro){JOptionPane.showMessageDialog(null,"Erro ao carrega dados no comboBox Visitantes telaCadastroProtocolos: "+erro);}
Desde de já peço desculpa pela amolação e agradeço muito pela sua ajuda!!!!
ViniGodoy
Beleza. Agora você deve registrar um listener para a seleção do seu combobox. E no listener basta fazer:
Bom desculpa pela minha falta de conhecimento, mas como eu faço isso… pois eu tenho está forma, mas não sei se está correto, pois quando chamo o meu JTextField mostra como erro nesse linha
privatevoidcmbDestinoItemStateChanged(java.awt.event.ItemEventevt){Setorsetor=(Setor)cmbDestino.getSelectedItem();txtCentroCustoOrigem=“”+setor.getId();// TODO add your handling code here:
}
ViniGodoy
Troque isso:
txtCentroCustoOrigem=""+setor.getId();
Por isso:
txtCentroCustoOrigem.setText(""+setor.getId());
Leandro-Freitas
Obrigado pela ajuda!!! Deus te Abençoe… Ficou uma maravilha vou postar o código para que alguém possa ter como referência…
:lol:
privatevoidformWindowOpened(java.awt.event.WindowEventevt){/***** Preenche o JCombBox *****///////* Esse "Try" é do JComboBox da Origem */////try{ClassConectaconexao=newClassConecta();conexao.conecta();Statementstmt=conexao.con.createStatement();ResultSetc_custo=stmt.executeQuery("select * from centro_custo where centro_de_custo order by setor");while(c_custo.next()){Setorsetores=newSetor(c_custo.getInt("centro_de_custo"),c_custo.getString("setor"));cmbOrigem.addItem(setores);}c_custo.close();stmt.close();}catch(Exceptionerro){JOptionPane.showMessageDialog(null,"Erro ao carrega dados no comboBox Visitantes telaCadastroProtocolos: "+erro);}/*Fim do Try JComboBox Origem*/