Eu tenho a solução amigo, montei uma classe esses dias que controla jComboBox, essa classe permite eu jogar Objetos de qualquer tipo para o mesmo.
package model;
public class ComboBoxModelAll extends javax.swing.DefaultComboBoxModel<Object> {
public ComboBoxModelAll(java.util.List<? extends Object> c) {
Object[] elementData = c.toArray();
int size;
if ((size = elementData.length) != 0) {
if (elementData.getClass() != Object[].class) {
elementData = java.util.Arrays.copyOf(elementData, size, Object[].class);
}
for (Object ob : elementData) {
this.addElement(ob);
}
}
}
}
Para utiliza-la faça o seguinte, crie esta classe e instancie desta forma:
List<Pessoa> pessoas = new ControllPessoa.findAllEntities(); // isso eu uso para buscar pessoas
seuJComboBox.setModel(new ComboBoxModelAll(pessoas)); // isso e importante
Para pegar o item selecionado eu faço o seguinte:
Pessoa pessoa = (Pessoa) seuComboBox.getModel().getSelectedItem();
PROBLEMAS DA CLASSE E SUAS SOLUÇÕES
O maior problema da minha classe é como fazer para aparecer o nome da pessoa (por exemplo) para selecionar, pois eu estou trabalhando com objetos que possuem muitos atributos, porém existe uma coisa linda chamada toString que vc pode usar na classe de entidade.
Seria mais ou menos assim, na entidade.
public class Pessoa(){
private int id;
private String nome;
private int idade;
private String cpf;
public Pessoa(){
}
// GETTERS E SETTERS
@Override
public String toString() { // Aqui vc escolhe o que visualizará no comboBox
return nome; // Quero que apareça o nome da pessoa
}
}