estou tendo problemas em usar a funcao setSelectedItem()
eu tenho um componente JComboBox onde ele tem uma lista de cidades, seguindo o código:
List<Cidade> o = Cidade.pegarDados();
jCit.removeAllItems();
for (Cidade t : o) {
jCit.addItem(t);
}
jCit.setRenderer(new MeuComboBox(Cidade.pegarListaDesc(o), jCit.getRenderer()));
o setRenderer eu apenas uso para arrumar uma questão de aparência e tooltips para mudarem conforme o item com mouse em cima e exibir o estado.
O problema é quando eu quero selecionar através de um objeto (Cidade no caso) enviado pela função, deveria selecionar a cidade correspondente na função, mas no caso ele não faz o que deveria ser proposto…
ex.:
jCit.setSelectedItem(algumaCidade);
atualmente eu estou resolvendo o problema com treco de código ligeiramente pequeno:
private void selecionarCidade(Cidade cidade) {
for(int i = 0;i<jCit.getItemCount();i++){
Cidade cid = (Cidade) jCit.getItemAt(i);
if(cid.getId()==cidade.getId()){
jCit.setSelectedIndex(i);
return;
}
}
}
mas eu tenho mais de 20 combobox num formulário, e não queria repetir esse código repetidas vezes para solucionar o problema, alguém sabe como resolver o erro no setSelectedItem()?