Método para ListarClientes() de uma Lista em ClasseDAO

Bom galera, to com um problema aqui que ta me tirando do sério. Tenho um método que se chama ListarClientes no meu fonte de um Form, sendo que esse método me mostra um erro que não se como proceder, alguem ai arrisca?

Método em código fonte no form

public void ListarClientes() throws SQLException{
        ClienteDAO dao = new ClienteDAO();
        Lcliente = dao.retrieve("%" + jTPesquisa.getText() + "%");
        MostraPesquisa(Lcliente);

O método MostraPesquisa, vou fazer depois.
O Lcliente recebe List que por ver usa o método retrieve para pegar o texto no textfield e jogar na tabela no formulário.

Minha ClasseDAO que retorna o médoto retrieve é?

public List<Cliente> retrieve(String nome) throws SQLException{
         String sql = "Select * from cliente where nome like ?";
         PreparedStatement stmt = this.conexao.prepareStatement(sql);
         stmt.setString(2,nome);
         ResultSet rs = stmt.executeQuery();

         List<Cliente> ListaCliente = new ArrayList<Cliente>();

        while(rs.next()){
            Cliente c1 = new Cliente();
            c1.setId(Long.valueOf(rs.getString("Id")));
            c1.setCpf(rs.getString("cpf"));
            c1.setNome(rs.getString("nome"));
            c1.setTelefone(rs.getString("telefone"));
            c1.setSexo(rs.getString("sexo"));
            c1.setRua(rs.getString("rua"));
            c1.setNumero(rs.getString("numero"));
            c1.setBairro(rs.getString("bairro"));
            c1.setCidade(rs.getString("cidade"));
            c1.setEstado(rs.getString("estado"));
            ListaCliente.add(c1);
        }

        rs.close();
        stmt.close();
        return ListaCliente;
    }

O erro acontece na linha Lcliente = dao.retrieve("%" + jTPesquisa.getText() + “%”); que mostra pra mim:
"Incompatible types
required: java.util.list<Forms.Cliente>
found: java.util.list<ClasseLogica.Cliente>
"

Any Ideas??? :?:

Na Linha 4 do seu método retrieve vc substitui:

stmt.setString(2,nome); 

por

stmt.setString(1,nome); 

Esse é um dos motivos pelo qual eu prefiro parametro nomeado.

thyagorc você fez a substituição que eu te falei?
Deu certo? funcionou?

A dúvida foi do thyagorc não minha :), mas acredito que aquele seja o problema também.

Não seria assim não:
Lcliente = dao.retrieve("%" + jTPesquisa.getText() + “%”);

Amigo,

Como está declarado o Lcliente?

Galera,

A alteracao nao teve efeito. Agora eu to sem o codigo aquii, pq to no celula r, assim que estiver no pc mostro mais detalhes. Valeu pelas respostas.

thorian-maskier, é isso que você quer?

public class Cliente extends javax.swing.JFrame {

    DefaultTableModel tmcliente = new DefaultTableModel(null, new String []{"Id","Nome","Cpf","Telefone"});
    List<Cliente> Lcliente;
    ListSelectionModel lsmCliente;
    

    
    /** Creates new form Cliente */
    public Cliente() {
        initComponents();

o List é minha lista de clientes que tenho na classe ClienteDAO.

public List<Cliente> retrieve(String nome) throws SQLException{
         String sql = "Select * from cliente where nome like ?";
         PreparedStatement stmt = this.conexao.prepareStatement(sql);
         stmt.setString(1,nome);
         ResultSet rs = stmt.executeQuery();

         List<Cliente> ListaCliente = new ArrayList<Cliente>();

        while(rs.next()){
            Cliente c1 = new Cliente();
            c1.setId(Long.valueOf(rs.getString("Id")));
            c1.setCpf(rs.getString("cpf"));
            c1.setNome(rs.getString("nome"));
            c1.setTelefone(rs.getString("telefone"));
            c1.setSexo(rs.getString("sexo"));
            c1.setRua(rs.getString("rua"));
            c1.setNumero(rs.getString("numero"));
            c1.setBairro(rs.getString("bairro"));
            c1.setCidade(rs.getString("cidade"));
            c1.setEstado(rs.getString("estado"));
            ListaCliente.add(c1);
        }

        rs.close();
        stmt.close();
        return ListaCliente;
    }

verifique se todos os campos do Cliente (fora o id) estão como String e se todos estão como varchar no banco. E o indice do stm é 1 mesmo.

po cara, está sim, todos Varchar e os atributos todos String!!!
Valeu a dica!