Problemas com JComboBox

Tenho os seguintes métodos:

protected List listar(Class clazz)
    {
        List objects = null;
        s= HibernateUtility.getSession();
        t= s.beginTransaction();
        Query query = s.createQuery("from " + clazz.getName());
        objects = query.list();
        t.commit();
        s.close();
        return objects;
    }
        public List findAll(Class clazz) {
            List objects = null;
            Session s = HibernateUtility.getSession();
            Transaction t = s.beginTransaction();
            Query query = s.createQuery("from " + clazz.getName());
            objects = query.list();
            t.commit();
            s.close();
            return objects;
        }

colocando essa consulta no jButton3_mouseClicked(MouseEvent e) por exemplo funciona corretamente:

        DAO dao1 = new DAO();
        Entidade entidade1 = new Entidade();
        List lista = dao1.findAll (Entidade.class);
        for (int i = 0; i < lista.size(); i++) 
        {
            entidade1 = (Entidade) lista.get(i);
            System.out.println(entidade1.getNomeE());
        }

porém qdo tento fazer essa consulta aparecer no ComboBox, não consigo de forma alguma, criei esse método:

public void combo() 
    {
        
        DAO dao1 = new DAO();
        Entidade entidade1 = new Entidade();        
        List lista = dao1.findAll (Entidade.class);
        for (int i = 0; i < lista.size(); i++) 
        {
            entidade1 = (Entidade) lista.get(i);
            System.out.println(entidade1.getNomeE());            
        }
        ArrayList ent;
        ent = entidade1.getNomeE(lista.getId());
        jComboBox5.removeAllItems(); 
        
        //adicionando todos os itens do ArrayList ao seu JComboBox 
        for(int i = 0; i < ent.size(); i++) 
        jComboBox5.addItem(ent.get(i));
    }

porém não estou certo de que esta correto, o certo é q não ta funcionando… Alguém pode me ajudar??

[code] public void combo()
{

     DAO dao1 = new DAO();
     Entidade entidade1 = new Entidade();        
     List lista = dao1.findAll (Entidade.class);
     jComboBox5.removeAllItems();
     for (int i = 0; i < lista.size(); i++) 
     {
         entidade1 = (Entidade) lista.get(i);
         jComboBox5.addItem(entidade1);           
     }
 }[/code]

Primeiro remova todos os itens da JComboBox, depois no proprio for adicione os itens a ele, não precisa criae outra lista pra isso.

No seu codigo voce está adicionado a ent apenas o prmeiro objeto da lista, porque ele esta fora do for.
Depois voce remove todos os itens da JComboBox. Em seguida você faz um for ( de um unico item) e adiciona o (unico) item.
Coloca o codigo acima que deve fucionar!

Ok! Obrigado! sumiram-se os erros…
porém, não estou conseguindo chamar o método…
Dentro do meu JFrame tenho um JPanel e ai os jComboBox’s, por exemplo quero que a consulta apareça no jComboBox5, não seria necessário apenas chamar:

    private void jComboBox5_mouseClicked(MouseEvent e) 
    {
        combo();       
    }

e apareceria a lista no combo???

Olá pcjardim,

A menos que você esteja “brincando” com Swing, você não quer usar uma abstração tão alto nível como o Hibernate e continuar mexendo com os models, listeners e afins do Swing no braço. Você deve usar um framework de binding, como o genesis, para facilitar o seu trabalho.

Por exemplo, ao invés de fazer algo braçal, você pode popular o combo por simplesmente fazer algo como:

E definindo na sua combobox que propriedades exibir. Mais explicações sobre isso você pode encontrar na documentação do genesis.

Caro mister_m na verdade não estou “brincando” mas estou “ralando”!!! he he!! é que estou vendo essa matéria e ai vou praticando por aki… Estou usando o JDeveloper!!! criei os JComboBox nele, e ai estou tentando povoá-lo com os dados do BD, usando hibernate, porém as vezes fico meio perdido… No meu enteder eu faria o método e o invocaria no JComboBox, não é possível da forma que estou tentando?? ficaria muito complicado??? de qualquer forma, obrigado pela dica da “documentação do genesis” vou estudá-la… se puder ajudar alguma coisa por hora… eu agradeço também!!!

Ola pcjardim,

Funciona voce operar direto em cima do JComboBox, mas assim como voce nao vai ficar conectando no banco de dados e rodando JDBC nu e cru em cima dele, nao faz o menor sentido ficar mexendo com listerers, models e afins pra ficar populando um JComboBox ou qualquer componente Swing. Voce deve usar uma solucao + alto nivel pra isso.

Pessoal! por favor… alguém me ajude!! eu sei que preciso estudar… e já que estou usando hibernate… também usar “genesis” por exemplo… mas no momento eu só quero saber uma coisa… se alguém puder me ajudar…
já postei acima os códigos:

public List findAll(Class clazz) {
também

protected List listar(Class clazz) {
esse método que o eliasn corrigiu:

public void combo() 
      {
          
          DAO dao1 = new DAO();
          Entidade entidade1 = new Entidade();        
          List lista = dao1.findAll (Entidade.class);
          jComboBox5.removeAllItems();
          for (int i = 0; i < lista.size(); i++) 
          {
              entidade1 = (Entidade) lista.get(i);
              jComboBox5.addItem(entidade1);           
          }
      }

ai quero que aparece no meu jComboBox5 os dados da tabela “entidade”, porém não esta mostrando nada…

ja chamei aqui:

    private void jComboBox5_actionPerformed(ActionEvent e) 
   {
         combo();
    }

até aqui fiz um teste… e acredito que não seria mesmo p/ mostrar ou seja, só qdo clicasse… então, tb não deu certo…

private void jComboBox5_mouseClicked(MouseEvent e) { combo () }

o botão foi criado assim:

private JComboBox jComboBox5 = new JComboBox();

clicando e arrastando, tentei passar: “combo();” na criação, mas tb não consegui… O que teria que fazer pra esse bentido aparecer…???

Oi! Alguém pode me dar uma força ai pessoal!!!???

Ola! estou indo por algum caminho muito errado??