Como carregar os dados no JCombobox usando hibernate?

Classe que tem meu combobox

[code]package views;
import java.awt.BorderLayout;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.List;
import java.util.Vector;

import javax.swing.AbstractAction;
import javax.swing.ComboBoxModel;
import javax.swing.DefaultComboBoxModel;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JDesktopPane;
import javax.swing.JFrame;
import javax.swing.JInternalFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.KeyStroke;
import modelo.;
import hibernate.
;
import java.util.;
import java.sql.
;
public class telaCadBairro extends JFrame implements ActionListener {
int navega = 0; // CONEXAO BANCO para saber em que botao de navegação foi clicado e mostrar o erro correto.
JLabel lblNomeBairro, lblUFBairro, lblNomeCidade;
JTextField txtNomeBairro;
JComboBox cbxUFBairro, cbxCidadeBairro;
JButton btnSalvar, btnSair;
bairro bairro = new bairro();
Dao dao = new Dao();
private final telaCadBairro gambiarra = this;

public telaCadBairro() {
	super("Cadastro de Bairros");
	int w = this.getToolkit().getDefaultToolkit().getScreenSize().width;
	int h = this.getToolkit().getDefaultToolkit().getScreenSize().height;
	int x = (w - 643) / 2;
	int y = (h - 360) / 2;
	this.setBounds(x, y, 643, 360);
	this.setResizable(false);
	this.setLayout(new BorderLayout());

	JLabel telaCadBairro = new JLabel(new ImageIcon("src/imagens/telaCadBairro.jpg"));
	telaCadBairro.setBounds(0, 0, 643, 463);
	telaCadBairro.setVisible(true);

JDesktopPane deskBairro = new JDesktopPane();

   // Início LABEL
	lblUFBairro = new JLabel("Escolha o estado:");
	lblUFBairro.setBounds(495, 185, 120, 20);
	deskBairro.add(lblUFBairro);

	lblNomeCidade = new JLabel("Escolha a cidade:");
	lblNomeCidade.setBounds(25, 185, 100, 20);
	deskBairro.add(lblNomeCidade);

	lblNomeBairro = new JLabel("Nome do Bairro:");
	lblNomeBairro.setBounds(25, 125, 100, 20);
	deskBairro.add(lblNomeBairro);
   // Fim LABEL
	   // Início JCOMBOBOX
		  
	
	cbxCidadeBairro = new JComboBox();
		  cbxCidadeBairro.setBounds(25, 205, 454, 30);
		  cbxCidadeBairro.addItem(dao.listarObjeto("select nome_cidade from tbl_cidade")); // nessa linha ele lista ! mais tudo em 1 só linha
	  deskBairro.add(cbxCidadeBairro);
	  


	String estados[] = {"AC", "AL", "AP", "AM", "BA", "CE", "DF", "ES", "GO", 
						"MA", "MT", "MS", "MG", "PA", "PB", "PR", "PE", "PI",
						"RR", "RO", "RJ", "RN", "RS", "SC", "SP", "SE", "TO" };
	cbxUFBairro = new JComboBox(estados);
	cbxUFBairro.setBounds(495, 205, 105, 30);
	deskBairro.add(cbxUFBairro);
   // Fim JCOMBOBOX

   // Início TEXTFIELD
	txtNomeBairro = new JTextField();
	txtNomeBairro.setFont(new Font("Tahoma", Font.PLAIN, 18));
	txtNomeBairro.requestFocus();
	txtNomeBairro.setBounds(25, 145, 577, 30);
	deskBairro.add(txtNomeBairro);
	deskBairro.repaint();
   // Fim TEXTFIELD

   // Início BOTÕES
	btnSalvar = new JButton();
	btnSalvar.setBounds(202, 264, 101, 40);
	btnSalvar.setFocusable(false);
	btnSalvar.setToolTipText("Salvar Alterações");
	btnSalvar.setIcon(new ImageIcon("src/imagens/btnSalvar.png"));
	btnSalvar.setBorderPainted(false); // TIRANDO A BORDA
	btnSalvar.setContentAreaFilled(false); // TIRANDO O BACKGROUND
	btnSalvar.addActionListener(this);
	deskBairro.add(btnSalvar);

	btnSair = new JButton();
	btnSair.setBounds(312, 265,101, 38);
	btnSair.setFocusable(false);
	btnSair.setToolTipText("Cancelar Alterações");
	btnSair.setIcon(new ImageIcon("src/imagens/btnCancelar.png"));
	btnSair.setBorderPainted(false); // TIRANDO A BORDA
	btnSair.setContentAreaFilled(false); // TIRANDO O BACKGROUND
	btnSair.addActionListener(this);
	deskBairro.add(btnSair);
   // Fim TEXTFIELD

	deskBairro.add(telaCadBairro);

	this.add(deskBairro);

    this.getRootPane().getInputMap().put(KeyStroke.getKeyStroke("ESCAPE"), "fecharJanelaInterna");
    
    this.getRootPane().getActionMap().put("fecharJanelaInterna", new AbstractAction() {
		public void actionPerformed(ActionEvent arg0) {
			gambiarra.setVisible(false);
		}
	});

	txtNomeBairro.requestFocus(true);

	
	this.setVisible(true);

		
}

// INÍCIO DAS FUNÇÕES DOS BOTÕES
public void actionPerformed(ActionEvent e) {

// ----------------------------------------------------------------------------------------------------------------------------------------------
if (e.getSource() == btnSalvar)// BOTÃO SALVAR
{
bairro.setNome_bairro(txtNomeBairro.getText());
bairro.setCidade_bairro(cbxCidadeBairro.getSelectedItem());
bairro.setEstado_bairro(cbxUFBairro.getSelectedItem());
Dao dao = new Dao();
dao.inserirObjeto(bairro);

	}

// ----------------------------------------------------------------------------------------------------------------------------------------------
if (e.getSource() == btnSair)// BOTÃO SAIR
{
this.setVisible(false);
}

//----------------------------------------------------------------------------------------------------------------------------------------------
}// FIM AÇÃO DOS BOTÕES

}// FIM PROGRAMA

[/code]

minha Dao do hibernate

[code]package hibernate;

import java.util.List;

import javax.swing.JOptionPane;

import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;

public class Dao {

public Dao(){
	
}

public <T> boolean inserirObjeto(T objeto) {

	Session sessao = HibernateUtility.getSession();
	Transaction transacao = sessao.beginTransaction();

	try {
		sessao.save(objeto);
		transacao.commit();
		return true;
	} catch (Exception e) {
		e.printStackTrace();
		JOptionPane.showMessageDialog(null,"Tem campos em Branco ! Porfavor Preencha corretamente");
		return false;
	} finally {
		sessao.close();
	}
	
}

public <T> boolean atualizarObjeto(T objeto) {

	Session sessao = HibernateUtility.getSession();
	Transaction transacao = sessao.beginTransaction();

	try {
		sessao.update(objeto);
		transacao.commit();
		return true;
	} catch (Exception e) {
		e.printStackTrace();
		System.out.println("erro");
		return false;
	} finally {
		sessao.close();
	}
	
}

public <T> boolean deletarObjeto(T objeto) {

	Session sessao = HibernateUtility.getSession();
	Transaction transacao = sessao.beginTransaction();

	try {
		sessao.delete(objeto);
		transacao.commit();
		return true;
	} catch (Exception e) {
		e.printStackTrace();
		System.out.println("erro");
		return false;
	} finally {
		sessao.close();
	}
	
}

public List<?> listarObjeto(String query) {
	
	Session sessao = HibernateUtility.getSession();
	Transaction tx = sessao.beginTransaction();
	
	try {
		Query select = sessao.createQuery(query);
		List<?> list = select.list();
		tx.commit();
		return list;
	} catch (Exception e) {
		e.printStackTrace();
		
		return null;
	} finally {
		sessao.close();
	}
	
}

}[/code]

como faço ?

eh que o addItem do comboBox adiciona um item de cada vez, vc precisa fazer um laço for e adicionar um a um.

for(Object item : dao.listarObjeto("select nome_cidade from tbl_cidade")){
cbxCidadeBairro.addItem(item);
}

não esqueca do @Override toString(){}
na sua classe de entidade que irá retornar a representação visual da sua classe.

conssegui mais foi de outro jeitoo!!!
mais obrigado.

Agora to com outra duvida…

Tenho uma classe A que tem um botão e quando eu apertar esse botão eu quero que ele de um refresh na classe B.

como falo isso ?