Inserindo objetos como item do JComboBox — Java

Em Java, é bastante comum e trivial inserirmos Strings como itens de um elemento JComboBox. Porém se quisermos inserir objetos, o procedimento muda um pouco, e para muitos que estão começando, alguns dias de atraso.

1o Passo: Para adicionar objetos no método addItem() de um JComboBox, basta adicionar o método toString() na classe que deseja adicionar como item do JComboBox. O método toString() deve retornar o atributo ou texto que você deseja que apareça como item do JComboBox, observe:

Figura 1: Inserindo o método toString na classe

2o Passo: Por padrão, o tipo da lista JComboBox é String, ou seja, JComboBox<String>, principalmente se você estiver utilizando algum editor gráfico do NetBeans ou do Eclipse. Portanto, altere para o tipo da classe que você deseja adicionar como item, como mostra a Figura 2, a seguir:

Figura 2: Especificar o tipo de lista na declaração da variável.

3o Passo: Em seguida, basta adicionar os objetos no método addItem() do componente JComboBox, veja:

Figura 3: Adicionando os objetos como itens do JComboBox.

Acima, na Figura 3, invoco o método getListFilmes(), que trás uma lista de todos os filmes do banco de dados (não explicarei aqui como fiz esse método, pois fugiremos do foco deste post), logo em seguida, percorro essa lista através do método for(), onde vou adicionando no método addItem() do componente JComboBox, cada filme dessa lista.

Um ponto importante a ser observado, apesar de adicionar o objeto, apenas o título do filme será exibido nos itens do combobox, pois definimos isso no método toString() da classe Filme, lembra?!.

4o Passo: Por fim, para pegar o objeto que o usuário selecionou no item combobox, basta fazer o seguinte:

Figura 4: Capturando o objeto selecionado no JComboBox.

Bem pessoal, espero que esse post tenha contribuído de alguma forma para alguém desesperado tentando inserir objetos como itens de um JComboBox. Esse post é apenas para guiá-lo na resolução desse tipo de problema, pois com toda certeza ao tentar fazer esse procedimento outras broncas virão, mas sempre estarei por aqui para tentar ajudá-los no que for possível.

Um forte abraço, e até o próximo post!