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!
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).
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:
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.
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…