ComboBox carrega endereço da memória

Pessoal o seguinte código abaixo carrega na minha comboBox o endereço da memória quando deveria carregar os dados do meu BD, porém ela contém a quantidade exata de registros no meu BD.

Obs: ao selecionar qualquer registro(endereço memória), ela carrega meus TextFields na VIEW com sucesso.

[code] // método que carrega a combo.
private void CarregarComboCliente(){
ClienteDAO dao = new ClienteDAO();
DefaultComboBoxModel comboMobel = (DefaultComboBoxModel) jComboCliente.getModel();
for(Cliente c : dao.getClientes()){
//jComboCliente.addItem(c.getNome());

        comboMobel.addElement(c);
    }

    jComboCliente.addItemListener(new ItemListener(){
        public void itemStateChanged(ItemEvent evt){
            Cliente c = (Cliente) jComboCliente.getSelectedItem();
            txtCPF.setText(c.getCpf_cnpj());
            txtEndereco.setText(c.getEndereco());
            txtTelefone.setText(c.getTelefone());
            txtRg.setText(c.getRg_ie());
            txtCelular.setText(c.getCelular());
            txtNumero.setText(c.getNum_endereco());
        }
    });
}

[/code]

//método DAO

 public ArrayList<Cliente> getClientes(){

        ArrayList <Cliente> clientes = new ArrayList<Cliente>();

        try{

        sql = "select * from cliente";
        conexao = new Conexao();
        Connection conn = (Connection) conexao.getConnection();
        stmt = (Statement) conn.createStatement();
        ResultSet rs = stmt.executeQuery(sql);

        while(rs.next()){

            Cliente cliente = new Cliente();
            cliente.setCodigo(rs.getInt(1));
            cliente.setNome(rs.getString(2));
            cliente.setCpf_cnpj(rs.getString(3));
            cliente.setRg_ie(rs.getString(4));
            cliente.setEndereco(rs.getString(5));
            cliente.setNum_endereco(rs.getString(6));
            cliente.setBairro(rs.getString(7));
            cliente.setCep(rs.getString(8));
            cliente.setCidade(rs.getString(9));
            cliente.setUf(rs.getString(10));
            cliente.setTelefone(rs.getString(11));
            cliente.setCelular(rs.getString(12));

            clientes.add(cliente);
        }

        stmt.close();
        conn.close();

        }catch(SQLException e){
            JOptionPane.showMessageDialog(null, e.toString(), "Não existe clientes cadastrados.",
                    JOptionPane.ERROR_MESSAGE);
        }

        return clientes;
    }

Aguardo sugestões e agradeço desde já.

Obrigado.

Você está adicionando o objeto Cliente ao Combo, por isso ele exibe o método toString() do objeto Cliente. O Java não tem como saber que deve ser utilizado o GetNome() para exibição.

Provavelmente há algum método no ComboBoxModel para você definir o valor para exibição do objeto no combo.

Oi,

Sobreescreva o método toString do seu pojo, retornando o que você quiser que seja mostrado…

[]'s

Pojo ??

Percebi que ao trocar o comando

comboMobel.addElement(c);

por

jComboCliente.addItem(c.getNome());

Os nomes aparecem corretamente na combo, porém ao selecionar qualquer nome, está dando erro ao preencher os Textfiels correspondentes à este nome através do código abaixo:

     jComboCliente.addItemListener(new ItemListener(){
                public void itemStateChanged(ItemEvent evt){

                    if(!jComboCliente.getSelectedItem().equals(selecione)){

                    Cliente c = (Cliente) jComboCliente.getSelectedItem();
                    txtCPF.setText(c.getCpf_cnpj());
                    txtEndereco.setText(c.getEndereco());
                    txtTelefone.setText(c.getTelefone());
                    txtRg.setText(c.getRg_ie());
                    txtCelular.setText(c.getCelular());
                    txtNumero.setText(c.getNum_endereco());
                    
                    }else{

                        txtCPF.setText("");
                        txtEndereco.setText("");
                        txtTelefone.setText("");
                        txtRg.setText("");
                        txtCelular.setText("");
                        txtNumero.setText("");
                    }
                }
            });