Combobox.setSelectedItem(...) não funciona!

Boa tarde!
Já pesquisei no fórum mas não encontrei solução ou alguma dica pra eu solucionar o seguinte erro:
coloquei um combobox dentro de uma tabela e o alimentei com informações do BD. Mas necessito que ele venha selecionado,
segundo o registro do banco. O problema é que o combobox fica sem seleção, quando clico nele as opções do BD estão lá, porém não consigo selecionar uma delas como padrão. Segue código:

//combos dentro das celular da tabela
                    TableColumnModel modeloColuna = jTableFamilia.getColumnModel();
                            TableColumn tcGrau = modeloColuna.getColumn(3);
                            tcGrau.setCellEditor(new DefaultCellEditor(comboGrau));
                            for(int j=0; j<grau.size(); j++){
                                    comboGrau.addItem(grau.get(j).getGrau().toString());
                                    }
                            comboGrau.setSelectedItem(grau2.get(0).getGrau().toString());
                            JOptionPane.showMessageDialog(null, comboGrau.getItemAt(1));

Até coloquei um joptionpane para me certificar que ele está pegando certinho do banco e está certinho mesmo.
Me ajudem por favor!

Thanks.

As listas grau e grau2 possuem os mesmos itens? Porque no momento de utilizar o método setSelectedItem você obtém de grau2 o item 0 e não o 1(que é o segundo item da lista).

Sim, eles tem os mesmo itens.

E o joptionpane só testei um item aleatorio, mas elas contem as mesas listas.

List grau recebe uma lista com todos os registros do banco para popular o combo.

List grau2 recebe um long com o codigo do usuario que eu quero setar para o combo.

Só que não seta, inclusive já testei e esta retornando certinho, porem o combo nao responde ao setselecteditem.

Se eu entendi direito, você quer selecionar o segundo item do combo que foi preenchido com grau, sendo que grau2 tem os mesmo itens. Então, você deve utilizar setSelectedItem dessa forma:

comboGrau.setSelectedItem(grau2.get(1).getGrau().toString()); 

a menos que tenham objetos diferentes com mesmo retorno de toString, essa chamada vai selecionar o item certo.
Está sendo comparado o retorno de toString do objeto retornado de getGrau, acredito que você tenha sobrescrevido o método toString e feito com que cada objeto retornasse uma descrição diferente, senão, não vai funcionar.

Então, já fiz isso e to achando que o problema é no componente. Quando faço isso ele deixa o item selecionado em primeiro lugar só que não aparece no combo.
Se eu clico no combo ele esta em primeiro mas nada de setar…aff.

Oi,

Tente usar o método setSelectedIndex(), verifique o que acontece…

Tchauzin!

Já tentei querida, mas acontece a mesma coisa…
Posicionamento do indice escolhido no topo do list dentro do combo porém não seta o valor inicial do mesmo…

Continuo tentando…

Oi,

Quem sabe um repaintzinho ajuda!

Tchauzin!

Não também lina. To començando a desistir deste combo…rs.