senhores…tenho um punhado de cadastro, e toda vez que salvo da certo , mas em um cadastro meu ta dando um erro e eu to ficando doido com ele.
a mensagem q sai é a seguinte:
java.lang.String cannot be cast to lgrc.projetos.classes.Estado
a situação é q eu tento salvar um objeto e neste objeto tem um dado que é escolhido por um jComboBox(Escolha Estado).O erro ocorre exatamente quando tentar salvar este atributo, pois eu ja comentei a linha e deu certo.Segue o codigo abaixo.
Cidade Novo = new Cidade();
Novo.setDescricao(TxtDescricao.getText().toUpperCase());
Novo.setEstado((Estado)EscolhaEstado.getSelectedItem()); // ->o erro ocorre aqui!
Novo.setCodigoIBGE(Integer.parseInt(TxtCodigoIBGE.getText()));
se.save(Novo);
tx.commit();
se.close();
JOptionPane.showMessageDialog(this,"Registro cadastrado com sucesso.Parabens!");
TxtDescricao.setText(null);
TxtCodigoIBGE.setText(null);
TxtCodigo.setText(null);
this.EscolhaEstado.setSelectedIndex(0);
o EscolhaEstado.getSelectedItem() está retornando uma String. O método setEstado() da classe Cidade recebe um tipo Estado, certo? Então tem duas alternativas: cria um método setEstado() na classe Cidade que pode receber um tipo String ou cria um objeto Estado e passa ele para o método.
Voce populou o combo com String, entao na hora de pegar o item selecionado vai ser retornado uma String e vc esta fazendo cast de String para Estado.
Voce tem uma classe Estado com quais atributos? É necessário?
Qual o tipo do atributo “estado” da classe Cidade?
Se o atributo “estado” da classe Cidade for do tipo Estado, entao vc precisa adicionar um objeto do tipo Estado no combo e nao precisa fazer o cast.
Se o atributo “estado” da classe Cidade for do tipo String, entao vc tira o cast pois o conteudo do combo é String e o atributo “estado” tambem…
private long ID;
private String Descricao;
private Pais pais;
nessa classe eu fiz exatamente igual ao atributo pais na classe Estado e deu certo, e na classe Cidade, copiando e fazendo as alterações necessarias na classe Cidade não da certo.
O tipo do atributo estado é do tipo Estado( é a classe Estado)
amigo…me ajude, pq mesmo com suas dicas naum conseguir fazer!!!