Ola pessoa estou com a seguinte dificuldade tenho a classe chamada “UF”
na qual tem dois atributo id e sigla.
@Entity
public Classe UF{
@Id
private int id;
private String sigla;
…
}
…
estou fazendo assim.
private void listaCidade() {
cmbCidade.addItem("");
List lista = new ArrayList();
DAOGenerico g = new DAOGenerico();
lista = g.consultaHQL(“Cidade”);
for (Object o : lista) {
Cidade m = new Cidade();
m = (Cidade) o;
cmbCidade.addItem(m.getDescricao());
}
gostaria de sabe o seguinte como faço para passa meu objeto para comboBox .quero que a combo box carrege com da descrição mais carrege tambem o id da uf.
tem algum metodo que faça mais ou menos assim cmbUF.adicioneaCombo(“GO”,1) cmbUF.adicioneaCombo(“sigla que vai mostra”,codigo)
e algum outro para me retorna esse codigo selecionado.
sei que no c# tem o selectItem e o metodo selectValue no java tem algum metodo parecido.
Object[] lista = new Object[4];
lista[0] = "pera";
lista[1] = "uva";
lista[2] = "maça";
lista[3] = "laranja";
JComboBox combo = new JComboBox();
combo.setModel(new DefaultComboBoxModel(lista));
não e bem isso fiz o teste com esse codigo , deu um problema porque o index so aceita na seguencia.
na verdade quero passa o item que sera mostrado e um object.
pois preciso que quando alguem seleciona o item preciso do codigo de item selecionado e não o index.
lista[0] = getCodigo + " - " + getDescricao(); // 1° Item do ComboBox
seria isso?
tente entender que o item do ComboBox é apenas um Object e não um Object[]…
o ComboBoxModel em si é formado por estes itens, ou seja, então será um Object[]
creio que o você está querendo fazer é inserir um Object[] dentro de um item
blz cara!!
você precisa fazer o seguinte
Primeiro:
Crie um método toString em sua classe “UF”, fazendo isso vc sobrescreve (faz um Override) o método toString padrão. Este método deve retornar uma String, e esta string deve ser o que vc quer que o usuário veja no combo. Ficaria mais ou menos assim
@Override
public String toString() {
return sigla;
}
Segundo:
preencha o seu combo com objetos da sua classe UF. Ficaria mais ou menos assim:
[code]UF uf1 = new UF();
uf1.setId = 1;
uf1.setSigla = 2;
combo.add(uf1);[/code]
Terceiro:
para recuperar o id do item selecionado, basta recuperar o item selecionado(como vc faz normalmente), mas deve fazer uma conversão do item para o tipo UF, que é sua classe. Ficaria mais ou menos assim:
int idUf = ((UF)combo.getSelectedItem()).getId();
Testa ai, e se tiver alguma duvida avisa…
Valeu pessoal pela ajuda , consegui o que queria era exatamente o que o softlesk passou, agradeço a todos pela ajuda.