Duvida simples em popular jframe

o que estou fasendo de errado que nao esta populando a tela ??
aki deveria ser populado com os dados da banco de dados

  private void btnpesquisarActionPerformed(java.awt.event.ActionEvent evt) {
        // TODO add your handling code here:
        
       // solicita parâmetro de pesquisa
String nome = JOptionPane.showInputDialog("Informe o nome do paciente a ser pesquisado");
BeanPaciente bp = new BeanPaciente();
        try {
            PacienteDao pd = new PacienteDao();
            pd.pesquisar(nome);
          //  codigopaciente.setText(new Integer(pd.bpaciente.getCodigo()).toString());// aqui faço a conversao de int para string
            nomepaciente.setText(pd.bpaciente.getNome());
//            telefonepaciente.setText(pd.bpaciente.getTelefone());
//            emailpaciente.setText(pd.bpaciente.getEmail());
//            datanascimento.setText(pd.bpaciente.getDatadenascimento());
//            
            
        } catch (SQLException ex) {
            Logger.getLogger(Paciente.class.getName()).log(Level.SEVERE, null, ex);
        }


    }

aki e o meu dao

public void  pesquisar(String nome)throws SQLException{
try{
    
    JOptionPane.showMessageDialog(null, nome);

String sql = "SELECT * FROM PACIENTE WHERE Nome_Paciente LIKE ?";
PreparedStatement stmt = con.prepareStatement(sql);
ResultSet rs =null;
BeanPaciente bp = new BeanPaciente();

stmt.setString(1, "%" + nome + "%");
rs = stmt.executeQuery();
while (rs.next()) { 
// recupera informações do ResultSet e coloca na classe bean
bp.setCodigo(rs.getInt("Codigo_Paciente"));
bp.setNome(rs.getString("Nome_Paciente"));
bp.setTelefone(rs.getString("Telefone_Paciente"));
bp.setEmail(rs.getString("Email"));
bp.setDatadenascimento(rs.getString("Data_Nascimento"));
bp.setSexo(rs.getString("sexo"));
bp.setNome_convenio(rs.getString("CONVENIO"));
System.out.println(bp.getSexo());
}
stmt.close();
} catch (SQLException sql) {
JOptionPane.showMessageDialog(null, "Não foi possivel execultar a pesquisa");
sql.printStackTrace();
} finally {
// solicita ao gerenciado e liberação dos recursos
con.close();
//obs: qndo peço para imprimir os bean da ki ele imprime certo, porem se pedir  para popular ele nao mostra nada somente o codigo pq?
}
 como faço pra pegar os dados do bean e mostrar na pesquisa?/?

Altere seu método pesquisar para retornar o Bean encontrado:

[code]public BeanPaciente pesquisar(String nome) {
try {
PreparedStatement stmt = null;
ResultSet rs = null;
try {
String sql = “SELECT * FROM PACIENTE WHERE Nome_Paciente LIKE ?”;
stmt = con.prepareStatement(sql);
stmt.setString(1, “%” + nome + “%”);
rs = stmt.executeQuery();
if (!rs.next()) {
return null;

    BeanPaciente bp = new BeanPaciente();
    // recupera informações do ResultSet e coloca na classe bean
    bp.setCodigo(rs.getInt("Codigo_Paciente"));
    bp.setNome(rs.getString("Nome_Paciente"));
    bp.setTelefone(rs.getString("Telefone_Paciente"));
    bp.setEmail(rs.getString("Email"));
    bp.setDatadenascimento(rs.getString("Data_Nascimento"));
    bp.setSexo(rs.getString("sexo"));
    bp.setNome_convenio(rs.getString("CONVENIO"));
    return bp; //Retorna o bean lido     
  } finally {
     // solicita ao gerenciado e liberação dos recursos
     if (rs != null) rs.close();
     if (stmt != null) stmt.close();
     if (con != null) con.close();      
  } 

} catch (SQLException sql) {
throw new RuntimeException(sql);
}
}
[/code]

E seu botão poderá ficar assim:

private void btnpesquisarActionPerformed(java.awt.event.ActionEvent evt) {
    // solicita parâmetro de pesquisa
    String nome = JOptionPane.showInputDialog(this, "Informe o nome do paciente a ser pesquisado");
    BeanPaciente bp = new PacienteDao().pesquisar(nome);
    if (bp == null) {
        JOptionPane.showMessageDialog(this, "Paciente não encontrado!");
    } else {
        nomepaciente.setText(bp.getNome());  
    }
}