Erro a gravar

4 respostas
A

Estou tentando gravar uma fk em outra tabela...e estou setando desse jeito.

ClasseRaca raca = new ClasseRaca();
     raca.setDescricao(jDescricao.getText());
     raca.setIdReg((ClasseReguladora) jComboBoxReg.getSelectedItem());
     
     raca.incluirRaca();

só q ao gravar ele dá o seguinte erro...

Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: java.lang.String cannot be cast to gui.ClasseReguladora

alguém sabe o q está acontecebdo?

4 Respostas

kinow

Olá,

java.lang.String cannot be cast to gui.ClasseReguladora

quer dizer que você não pode converter uma String em uma gui.ClasseReguladora.

raca.setIdReg((ClasseReguladora) jComboBoxReg.getSelectedItem());

“raca.setIdReg” espera um objeto ClasseReguladora…

mas “jComboBoxReg.getSelectedItem()” retorna uma String.

:slight_smile: Isso é o que está acontecendo. Agora como você vai resolver é outra história.

A

e como eu resolvo isso?

thiagocg

Ao que parece vc esta carregando em seu jcombobox uma coleção de string, se for isto mesmo, apenas muda o seu metodo de carga do jcombobox para carregar a coleção de objetos do tipo Classe reguladora, de resto imagino q seu codigo va funcionar sem erro!

A

estou carregando dessa forma…

onexao conexao = new Conexao(); try{ Connection con=conexao.conecta(); Statement stmt=con.createStatement(); ResultSet rsReg = stmt.executeQuery("Select * from reguladora"); while(rsReg.next()){ Obeject(ClasseReguladora) reg = rsReg.getObject(2); jComboBoxReg.addItem(reg); } rsReg.close(); stmt.close(); }catch(SQLException e){}

está certo?

Criado 14 de novembro de 2008
Ultima resposta 14 de nov. de 2008
Respostas 4
Participantes 3