Problema a dois dias com jTextField e DAO

Olá estou com um problema a 2 dias e venho tentando resposta aqui para esse problema, mais não podia colocar o código por norma da empresa, consegui uma autorização para colocar o código parcial e principal, o problema como já citei anteriormente é que não consigo mostra o resultado da minha busca na minha jTextField e o código esta totalmente sem erros e exeções, estou começando agora a escrever códigos em camadas e meu código esta estruturado da seguindo forma:

Java Beans

public class Cliente{

private int codcliente;
private String nome;
private String rg;
private String cpf;
private String endereco;
private String bairro; 
private String cidade;
private String cep;
private int uf;
private String telefone;
private String celular;
private String email;
	
public Cliente() {
	
	}
        

public int getCodCliente(){
	return this.codcliente;
}	

	public void setCodCliente(int codcliente){
	this.codcliente = codcliente;
	}

public String getNome(){
	return this.nome;
}	

	public void setNome(String nome){
	this.nome = nome;
	}

public String getCpf(){
	return this.cpf;
}

public void setCpf(String cpf){
	this.cpf  = cpf;
}
    
            public String getRg(){
	return this.rg;
}

public void setRg(String rg){
	this.rg  = rg;
}

public String getEndereco(){
	return this.endereco;
}

public void setEndereco(String endereco){
	this.endereco = endereco;
}

public String getBairro(){
	return this.bairro;
}

public void setBairro(String bairro){
	this.bairro = bairro;
}

public String getCep(){
	return this.cep;
}

public void setCep(String cep){
	this.cep = cep;
}

    public String getCidade(){
	return this.cidade;
}

public void setCidade(String cidade){
	this.cidade = cidade;
}
    
public int getUf(){
	return this.uf;
}

public void setUf(int uf){
	this.uf = uf;
}

public String getTelefone(){
	return this.telefone;
}

public void setTelefone(String telefone){
	this.telefone = telefone;
}

public String getCelular(){
	return this.celular;
}

public void setCelular(String celular){
	this.celular = celular;
}

public String getEmail(){
	return this.email;
}

public void setEmail(String email){
	this.email = email;
}

}

Tenho uma classe DAO

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.ResultSet;

public class ClienteDAO {

// a conexão com o banco de dados
private Connection connection;

public ClienteDAO() throws SQLException {
	this.connection = ConnectionFactory.getConnection();
}

public void cadastrar(Cliente cliente) throws SQLException {

	// prepared statement para inserção
	PreparedStatement stmt = this.connection.prepareStatement("insert into " +
                    "cliente (codcliente,nomecliente,cpfcliente,rgcliente,enderecocliente," +
                    "bairrocliente,cidadecliente,cepcliente,coduf,telefonecliente,celularcliente," +
                    "emailcliente) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");

	// seta os valores
	stmt.setInt(1,cliente.getCodCliente());
	stmt.setString(2,cliente.getNome());
	stmt.setString(3,cliente.getCpf());
            stmt.setString(4,cliente.getRg());
	stmt.setString(5,cliente.getEndereco());
	stmt.setString(6,cliente.getBairro());
            stmt.setString(7,cliente.getCep());
	stmt.setString(8,cliente.getCidade());
	stmt.setInt(9,cliente.getUf());
	stmt.setString(10,cliente.getTelefone());
	stmt.setString(11,cliente.getCelular());
	stmt.setString(12,cliente.getEmail());
           

	// executa
	stmt.execute();
	stmt.close();
}
    
    public void remover(Cliente cliente) throws SQLException{
        
        PreparedStatement stmt = this.connection.prepareStatement("delete from cliente" +
                "where codcliente = ?");
        
        stmt.setInt(1, cliente.getCodCliente());
        
        // executa
        stmt.execute();
        stmt.close();
    }
    
    public void alterar(Cliente cliente) throws SQLException{
        // prepared statement para inserção
	PreparedStatement stmt = this.connection.prepareStatement("update cliente " +
                    "set nomecliente=?, cpfcliente=?, rgcliente=?, enderecocliente=?," +
                    "bairrocliente=?, cidadecliente=?, cepcliente=?, coduf=?, telefonecliente=?," +
                    "celularcliente=?, emailcliente=? where codcliente=?");

	// seta os valores
	stmt.setString(1,cliente.getNome());
	stmt.setString(2,cliente.getCpf());
    stmt.setString(3,cliente.getRg());
	stmt.setString(4,cliente.getEndereco());
	stmt.setString(5,cliente.getBairro());
    stmt.setString(6,cliente.getCep());
	stmt.setString(7,cliente.getCidade());
	stmt.setInt(8,cliente.getUf());
	stmt.setString(9,cliente.getTelefone());
	stmt.setString(10,cliente.getCelular());
	stmt.setString(11,cliente.getEmail());
    stmt.setInt(12,cliente.getCodCliente());
           

	// executa
	stmt.execute();
	stmt.close();
    }
    
    public void buscar(Cliente cliente) throws SQLException{
        // pega a conexão e o Statement
            PreparedStatement stmt = this.connection.prepareStatement("select * from cliente " +
            " where codcliente = ?");
            
            stmt.setInt(1, cliente.getCodCliente());
            // executa um select
            ResultSet rs = stmt.executeQuery();
            // itera no ResultSet
            
            TelaCliente2 tela = new TelaCliente2();
            tela.mostraTela(rs);
            
            stmt.close();
    }

}

e tenho a minha interface, e o meus jTextField só lembrando estão declarados como globais tudo certinho como manda o figurino, NÂO TEM ERROS, apenas nem habilita e nem mostra na tela

protected void mostraTela(ResultSet result) throws SQLException{
// TODO add your handling code here:

    ResultSet rs = result;
    
    rs.next();               

    javax.swing.JOptionPane.showMessageDialog(null, rs.getString("nomecliente"));
    
    jTextField1.setEnabled(true);
    jTextField1.setText(rs.getString("telefonecliente"));
    jTextField2.setEnabled(true);
    jTextField2.setText(rs.getString("celularcliente"));
    jTextField3.setEnabled(true);
    jTextField3.setText(rs.getString("emailcliente"));
    jTextField12.setEnabled(true);
    jTextField12.setText(rs.getString("nomecliente"));
    jTextField14.setEnabled(true);
    jTextField14.setText(rs.getString("cpfcliente"));
    jTextField15.setEnabled(true);
    jTextField15.setText(rs.getString("rgcliente"));
    jTextField16.setEnabled(true);
    jTextField16.setText(rs.getString("enderecocliente"));
    jTextField17.setEnabled(true);
    jTextField17.setText(rs.getString("bairrocliente"));
    jTextField18.setEnabled(true);
    jTextField18.setText(rs.getString("cepcliente"));
    jTextField19.setEnabled(true);
    jTextField19.setText(rs.getString("cidadecliente"));
            
    jButton3.setEnabled(true);
    
    jButton4.setEnabled(true);
    
    jButton5.setEnabled(true);

}

Por favor me deem uma solução prática para mostra o resultado na tela, se alguem tiver ideia de estruturação no modo que estruturei o codigo tambem é bem vindo mais me deem uma solução, e só lembrando a busca esta tudo correto pois coloquei um JOptionPane para testar e ele retorna o resultado.

Desde já agradeço.

Bom dia Analyser,

Vc está usando rs.next(), vc já testou se realmente está voltando alguma linha do banco de dados. Ex.:

if(rs.next()){ ///o banco retornou alguma informacao }else{ /// nao retornou nada do banco }
Outra coisa, vc realmente criou todas as colunas como string no banco? É que vc está usando rs.getString(), mesmo no telefone, nunca fiz isso, pode até ser q dê certo.

Vc diz que não dá exceção, mas vc está usando apenas throws SQLException, e se estiver dando outra exceção, vc já olhou isso?

Espero ter ajudado,

Rodrigo. 8)

Primeira coisa, nunca faça isso, a não ser que seja extremamente necessário. Nunca exponha à visão um resultset. Encapsule o resultado da pesquisa em um POJO ou uma Lista de POJOs. Isso é essencial. Como vc pediu estruturação, ta ae… Voc e não precisa iterar no resultset se vc não está passando o resultado para um POJO. Então, não itere se continuar com esse projeto. O certo seria percorrer um resultSet Passando os dados para um POJO ou Lista de POJOs e Estes sim seriam repassados à view.

Olá obrigado pela opnião, mais como faria esse POJO nunca fiz um não tenho nem idéia do significado, é um classe simples?? como vou passar depois para o jTextField?? obrigado, e se sabe por que sera que o jTextField não funciona?? quando dou um true

POJO é seu objeto simples, o que muitos chamam de javabean… para passar para o Jtextfield da maneira mais simples, vc pode dar jTextField1.setText(seuPojo.getNome());

[quote=Tecnoage]POJO é seu objeto simples, o que muitos chamam de javabean… para passar para o Jtextfield da maneira mais simples, vc pode dar jTextField1.setText(seuPojo.getNome());
[/quote]

Posso utilizar minha classe javabenas que criei e citei no topico como pojo???