ClassCastException

02/01/2019

0

public void salvar(){

Marcas ma = (Marcas)cbxMarcas.getSelectedItem();
Modelos mo = new Modelos(ma ,txtNome.getText());

try{
s.beginTransaction();
if(id == 0){
s.save(mo);
modelos.add(mo);
}else{
mo.setId(id);
s.merge(mo);
modelos.set(item, mo);
id = 0;
}
s.getTransaction().commit();

JOptionPane.showMessageDialog(IFrmModelos.this, "Modelo cadastrado com sucesso!");

atualizarTabela(item);

limpar();
}catch(ClassCastException ex){
JOptionPane.showMessageDialog(IFrmModelos.this, "Não foi possível cadastrar o modelo. Cód: "+ex.getMessage());

}
}

Este é o meu metodo para salvar um modelo, porem é me retorna um ClassExpection, não sei o que devo fazer ...
Rafael Corgosinho

Rafael Corgosinho

Responder

Post mais votado

04/01/2019

Seria nessa linha que o erro ocorre?
Marcas ma = (Marcas)cbxMarcas.getSelectedItem();


Se sim, é porque o método getSelectedItem() não retorna Marcas ele retorna um Object, que vai ter como valor o item selecionado no combobox. Esse item não é Marcas, mas o texto com o nome da marca. Então, tem que fazer um cast para String e não para Marcas.

String marca = (String) cbxMarcas.getSelectedItem();

Marcio Souza

Marcio Souza
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar