Comparar Objetos em uma JCombobox

0 respostas
G

Boa noite pessoal!

Antes de mais nada, já realizei diversas pesquisas e não encontrei exatamente o que eu preciso, então resolvi perguntar.

Tenho uma tabela no meu BD que se chama cad_categoria (id, id_pai, nome) eu uso para cadastrar categorias, obviamente.

Meu problema é o seguinte, quando vou ALTERAR uma categoria, já puxo um objeto quando crio o JFrame, isso para iniciar meus campos já populados.

Tenho uma combo, onde puxa do BD a lista das categorias e quero que a mesma inicie com a categoria pai selecionada de acordo com o valor do BD.

o meu código atual
jComboCategoria.addItem("Nenhum");
            for (int linha = 0; linha < cats.size(); linha++)
            {
                Categoria cat = cats.get(linha);

                comboModel.addElement(cat);

               
                if(categoria != null) {
                    if(categoria.getId_pai() == 0)
                        jComboCategoria.setSelectedItem("Nenhum");
                    else
                        jComboCategoria.getModel().setSelectedItem(dao.getNomePai(categoria.getId_pai()));
                }

            }

ele até "seleciona" a string correta, mas parece que não está setando (selecionando) o objeto... pois se eu clicar no meu botao SALVAR sem alterar absolutamente nada, apenas com os dados populados...me ocorre um erro...

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

e se eu selecionar novamente algum item do combo, realiza a alteração (update) corretamente.

Aguardo a ajuda de vocês!

valeu

Criado 13 de abril de 2013
Respostas 0
Participantes 1