Tenho o seguinte trecho de código que basicamente com o CEP informado recupera os dados, de rua, bairro, estado e cidade. O erro é o seguinte meu objeto Uf estado da erro, pois não é possível converter String para este meu objeto do tipo Uf. O que eu possa estar fazendo para dar certo. Se eu trocar para String resolve o problema, mas na hora de gravar os dados da erro, pois meu outro Objeto do tipo CLIENTE espera um objeto do tipo Uf. Alguma dica?
Já tentei, mas não acontece nada?
Object o = buscaCep.getUf().toUpperCase();
Uf estado = o ;
cbbUf.getModel().setSelectedItem(estado);
private void btnPesquisaCEPActionPerformed(java.awt.event.ActionEvent evt)
{
WebServiceCep buscaCep = WebServiceCep.searchCep(txtCEP.getText());
txtEndereco.setText(buscaCep.getLogradouroFull().toUpperCase());
txtBairro.setText(buscaCep.getBairro().toUpperCase());
Uf estado = buscaCep.getUf().toUpperCase();
cbbUf.getModel().setSelectedItem(estado);
String cidade = buscaCep.getCidade().toUpperCase();
cbbCidade.getModel().setSelectedItem(removerAcentos(cidade));
}
1 curtida
Cria o objeto:
Uf uf = new Uf();
//usa o nome do atributo q vc tm lá
uf.setDescricao( buscaCep.getUf().toUpperCase());
2 curtidas
Observações:
Object o = buscaCep.getUf().toUpperCase();//o armazena uma string o que vc vai enviar para o combobox
Uf estado = o ;//mesmo que vc faça um casting Uf estado = (Uf) o; vai dar erro pois são objetos diferentes um é Uf e outro String
cbbUf.getModel().setSelectedItem(estado);//estado não é uma String
Avaliação:
Pelo que entendi Uf é um objeto que faz referência ao estado e a classe cliente espera um objeto do tipo Uf; Então provavelmente Uf deve possuir uma variável do tipo String que armazene o nome do estado, se não tiver basta criar.
Exemplo.:
public class Uf{
private String uf;
public Uf(String uf){
this.uf = uf;
}
public String getUf(){
return this.uf;
}
}
Agora a chamada alternativa
Object o = buscaCep.getUf().toUpperCase();
Uf estado = new estado((String) o) ;//cria o objeto do tipo Uf com casting dentro do contrutor
cbbUf.getModel().setSelectedItem(estado.getUf());//estado.getUf() trará a string referente ao estado.
Pronto.
1 curtida
valeu @Rodrigo_Void deu certo, tinha pensado em fazer desta forma, mas achei que não daria certo. valeu.