Evento para alterar valor do JComboBox a partir de um JTextField

A dúvida é a seguinte, um evento para disparar quando um texto for inserido no Text-Field,
no meu caso, o combo-box é carregado com os dados do banco no open-windows assim que o formulário é aberto,
dai tenho um campo código que corresponde aos valores do combo-box, dai preciso fazer a ligação tipo; se o código carregado for 2 ele vai no combo-box e seleciona o item correspondente.

no formulário para inserir eu fiz o seguinte:

[code]

private void funcaoActionPerformed(java.awt.event.ActionEvent evt) { //evento
if (funcao.isPopupVisible()){ //se o valor do checkbox for selecionado
Funcao carregando;//Class modelo

    ArrayList<Funcao> resultado;
    int i;
    String troca , nome1 = "";
    ControleCurriculum controle = new ControleCurriculum();  
    resultado = controle.buscarFuncao(nome1);
    i = funcao.getSelectedIndex() ;
    carregando  = resultado.get(i);
    troca = "";
     troca = troca + carregando.getCod();//guardando o valor do código

     
   codFuncao.setText(troca);//exibindo o código

}
} [/code]

Você pode colocar o código da mudança do combobox na onfocuslost da textfield…
Ou pode colocar esse código quando o usuário apertar enter, após preencher a textfield

[code]txt.addKeyListener(new KeyListener() {
public void keyTyped(KeyEvent arg0) {
}
@Override
public void keyReleased(KeyEvent arg0) {
if (arg0.getKeyCode() != KeyEvent.VK_ENTER) {
trocarCombobox();
}
}

			@Override
			public void keyPressed(KeyEvent arg0) {

			}
		});
    	txt.addFocusListener(new FocusListener() {
			public void focusLost(FocusEvent arg0) {
				trocarCombobox();
			}

			public void focusGained(FocusEvent arg0) {
				
			}
		});

[/code]

private void trocarCombobox(){ combobox.setselecteditem(txt.getText().toString()); }

Sua dúvida era essa mesmo?

obrigado pela atenção sapaos, olha com o onfocuslost não daria certo, porque, não é na parte de inserção que to trabalhando e sim no retorno das informações do banco; então meu campo código vai ser preenchido pelo banco de dados e quando isso acontecer quero que ele pegue o valor de outra tabela do banco que tem o nome desse código para ser colocado em um combobox… fico no aguardo…

Então você deve ter um metodo que preenche o campo, certo?
após isso tu chama o método trocarCombobox() que falei antes

exemplo…

txt.setText(id + "");
trocarCombobox();

:smiley:

Seguinte, consegui chegar até aqui>>

[code] private void codFuncaoFocusLost(java.awt.event.FocusEvent evt) {
Funcao funcaoo;

 ArrayList<Funcao>resultado;
  String troca , nome1 = "";
  int i;
  
 ControleCurriculum controle = new ControleCurriculum();
 
 resultado = controle.buscarFuncao(nome1); //carrega os nomes

    i = Integer.parseInt(codFuncao.getText()); //captura o código preenchido   
    funcaoo  = resultado.get(i);
    troca = "";
     troca = troca + funcaoo.getFuncao();

   funcao.setSelectedItem(troca);//setando o valor no COMBOBOX
 }[/code]

O problema é esse erro:
Exception in thread “AWT-EventQueue-0” java.lang.IndexOutOfBoundsException: Index: 8, Size: 3
esse Index: 8 é a posição do array que eu to montando com o código,
e o tamanho 3 é pq só tem 3 itens no array, dai não sei como corrigir o erro mim ajudem ai,

ele ta rodando, agora com Index < Size.

Ajuda aew pessoal, vlww

Galera só quero saber como pode ser incrementado o algoritmo para que quando o text field for alterado o JComboBox também seja alterado… :idea:

Desculpa a demora cara, to com uns problemas com internet no serviço…

parece que o erro esta aqui

i = Integer.parseInt(codFuncao.getText()); //captura o código preenchido funcaoo = resultado.get(i);

só daria certo se a combobox funcao tivesse os mesmo valores da do array resultado…

tenta verificar isso… ;D
qualquer coisa posta aqui

o problema é esse, eu não to conseguindo pensar como comparar, porque o meu combobox é carregado com Strings que vem do BD, de uma tabela, e quando o formulario é aberto o evento (open windows) do formulário carrega o textfield que é o “codFuncao”, dai tenho que fazer o sincronismo. exemplo: a tabela que carrega o combobox possui funcao que é o que uso para carregar o combo, e tem o codFuncao correspondente a funcao, só que eu não uso o codFuncao da tabela funcao, e sim o codFuncao de outra tabela que faz referencia a tabela de funções, dai essa outra tabela é que vai carregar meu campo codFuncao… quando for carregado eu quero que ele selecione o correspondente na combobox de acordo o codFuncao; ai finalizando tenho: um TextField que tem que selecionar um combobox,

textfield = Int;
combobox = String;

realmente ficou meio confuso… tenta postar seu código completo…
Não to entendendo direito a relação do seu banco e da sua tela…
posta o código de tudo e dou uma olhada…