jComboBox preencher jTextField

Tenho um Combo com todos os estados cadastrados , coloquei os nomes dos estados na propriedade model do componente.
Quando eu selecionar por exemplo “SAO PAULO” queria preencher meu jTextField_SiglaEstado com a sigla do estado “SP”.


if (combo == “SAO PAULO”){
txtSigla.setText (“SP”)

}

nessa ideia… naos ei como fazer…
vlw

tente isso:

  1. adicione o evento ItemStateChanged ao seu jComboBox
  2. dentro do metodo do evento faça algo do tipo
    private void jComboBoxEstadoItemStateChanged(java.awt.event.ItemEvent evt) {
        //verifica se o usuario selecionou o estado
        if (evt.getStateChange() == java.awt.event.ItemEvent.SELECTED){
            //verifica se o item que o usuario selecionou eh != null
            if (jComboBoxEstado.getSelectedItem() != null){
                //verifica a sigla correspondente
                String uf = jComboBoxEstado.getSelectedItem().toString();
                if (uf.equals("Amazonas"))
                    txtSigla.setText ("AM");
                else if (uf.equals("Acre"))
                    txtSigla.setText ("AC");
                .......
            }
        }
    }

Melhor que isso.

  1. Crie uma classe chamada Estado (pode ser um enum também). Nele, tenha as propriedades nome e sigla. Faça o toString() dele mostrar o nome.

[code]public enum Estado {
SP(“SP”, “São Paulo”),
PR(“PR”, “Paraná”);

private String nome;
private String sigla;

private Estado(String nome, String sigla) {
this.nome = nome;
this.sigla = sigla;
}

public String getNome() {
return nome;
}

public String getSigla() {
return sigla;
}

@Override
public String toString() {
return getNome();
}
}[/code]

  1. Preencha sua combo com objetos dessa classe Estado, e não com as Strings do nome.

for (Estado e : Estado.values()) { jComboBoxEstado.addItem(e); }

  1. No seu itemStateChanged, simplesmente mude a sigla:
private void jComboBoxEstadoItemStateChanged(ItemEvent evt) {
   if (evt.getStateChange() != ItemEvent.SELECTED){   
      return;
   }

   if (jComboBoxEstado.getSelectedItem() == null){
      txtSigla.setText("");
      return;
   }

   //Obtém o estado selecionado
   Estado estado = (Estado) jComboBoxEstado.getSelectedItem();
   txtSigla.setText(estado.getSigla()); //Troca a sigla
}

Note que essa sugestão elimina aquele if gigante e medonho que testaria estado por estado. Ela também é melhor para o caso de você precisar de outras propriedades (como o ID do Estado) no futuro. Sem falar que deixa o código do estado totalmente concentrado na classe Estado, o que facilita muito a manutenção.

Muitoooo obrigado pelas sugestões !!
Bem esclarecedoras.

vou testar aqui
vlw!