JComboBox com duas colunas

2 respostas
C

Pessoal,

como faço para colocar uma jcombobox com duas colunas?

Ex.: Cod | Descrição
125 | Teste

Mais só exiba a Descrição, mais que eu possa pegar o cod.

Aguardo ajuda.

2 Respostas

B

Ola,

O que vc pode fazer é criar uma classe que guarde isto pra vc e mexer no Renderer do combobox.

Para mexer no renderer da combo faz uma busca aqui no forum que vc vai achar exemplos práticos.

I
private List<Elemento> list;

private void List<Elemento> getData() {
    this.list = new ElementosBroker().getData();
}

//...
JComboBox box = new JComboBox(list);
//...


//...
public class Elemento {
    public String id;
    public String name;

    public void toString() {
        return this.name;
    }
    //getters e setters
}

O toString() de Elemento vai forçar o combo a mostrar o que tu definir dentro da classe. Para pegar o id, use o índice do combo:

final int index = box.getSelectedIndex();
if (index > -1) {
    Elemento elemento = list.get(index);
    elemento.getId();
    //...
}

T+

Criado 5 de dezembro de 2006
Ultima resposta 5 de dez. de 2006
Respostas 2
Participantes 3