Caros amigos tenho uma implementação onde busco do banco as informações da combo porém ao selecionar o item da combobox preciso atualizar um campo textfield automaticamente na mesma tela apresentado o nome do codigo selecionado.
alguém possui um exemplo ou sabe como fazer isso?
Atualizando JTextField apartir de uma combobox
3 Respostas
E ai cara blz.
Bem, nesse caso procure algo como change listener aqui no fórum mesmo deve ter alguma coisa a respeito, ou se esiver usando netbeans clique com o botão direito em cima do combo e escolha Events => Item => itemStateChanged
ele abrirá um método onde vc pode fazer a seguinte verificação…
if(combo.getSelectedIndex()==0){
texto.setText(combo.getSelectedItem().toString());
}
else if(combo.getSelectedIndex()==1){
texto.setText(combo.getSelectedItem().toString());
}
e assim por diante.
Espero ter ajudado e qualquer coisa posta ai.
E ai cara, vlw pela ajuda mas ainda nao consegui implementar.
A situacao é a seguinte:
Em uma JComboBox eu to pegando os codigos no banco referente a uma classe.
A medida que eu for escolhendo no JComboBox eu queria que automaticamente exibi-se na JTextField o Nome associado ao codigo.
Esse codigo e o nome estão cadastrados no banco.
Estou usando programacao em 3 camadas.. por isso a dificuldade..
DAOPaciente daoPac = new DAOPaciente();
ArrayList P = daoPac.consultarTodos();
for(int i=0;i<P.size();i++)
{
Paciente pc = (Paciente) P.get(i);
comboP.addItem(pc.getNome());
pc = daoPac.consultar(pc);
if(comboP.getSelectedIndex()== 0)
{
tfpaciente.setText(comboP.getSelectedItem().toString());
}
else if(comboP.getSelectedIndex()==1)
{
tfpaciente.setText(comboP.getSelectedItem().toString());
}
}
Dessa forma que está ele so busca a posicao 1, e nao exibe as outras.
Obrigado pela ajuda !!
e cara tranquilão,
Pelo que vi no laço que vc criou para atribuir os itens no combo, vc só está atribuindo os itens e não os índices.
for(int i=0;i<P.size();i++)
{
Paciente pc = (Paciente) P.get(i);
comboP.addItem(pc.getNome());
pc = daoPac.consultar(pc);
if(comboP.getSelectedIndex()== 0)
{
tfpaciente.setText(comboP.getSelectedItem().toString());
}
else if(comboP.getSelectedIndex()==1)
{
tfpaciente.setText(comboP.getSelectedItem().toString());
}
}
e vc me disse que ele está buscando sempre a primeira posição, ou seja, não percorre a lista correto?
não será alguma coisa como:
for(int i=0;i<P.size();i++)
{
Paciente pc = (Paciente) P.get(i);
comboP.addIndex(pc.getValor()); //atribuir o indice na lista
comboP.addItem(pc.getNome());
pc = daoPac.consultar(pc);
if(comboP.getSelectedIndex()== i)
{
tfpaciente.setText(comboP.getSelectedItem().toString());
}
/*else if(comboP.getSelectedIndex()==1)
{
tfpaciente.setText(comboP.getSelectedItem().toString());
} */
}
ou será que ele gera os indices automaticamente à medida em que forem sendo atribuídos os itens?
não sei se existe mesmo essa sintaxe que descrevi no codigo acima, mas é uma idéia.
se eu estiver errado por favor me corrija, pois nunca trabalhei com desenvolvimento três camadas.
qualquer coisa estamos aí blz?
flw abrax