Problema com DAO + Swing + ObjectTableModel [RESOLVIDO]

Pessoal, bom dia.

Primeiramente, gostaria de agradecer todos os participantes do fórum, pois os problemas e artigos já existentes, sempre me ajudaram em duvidas.

Este é o meu primeiro tópico aqui no fórum e preciso da ajuda de vocês, pois não achei nada parecido.

Estou criando uma aplicação no netbeans utilizando métodos DAO, swing e ObjectTableModel que extraem dados de um banco em DB2.

Não estou conseguindo listar os dados com base em um jtextfield. Se deixo o valor fixo no código SQL, os dados listam normalmente. Sei que para acessar necessito de um select com valores “?” e métodos get e set para puxar os dados.

Seguem os códigos:

Classe modelo:

import com.towel.el.annotation.Resolvable;


public class Teste {
    @Resolvable(colName = "INBOUND")
    private String inbound;
    @Resolvable(colName = "PRODUTO")
    private String produto;
    @Resolvable(colName = "DELIVERY")
    private String delivery;

    public String getInbound() {
        return inbound;
    }

    public void setInbound(String inbound) {
        this.inbound = inbound;
    }

    public String getProduto() {
        return produto;
    }

    public void setProduto(String produto) {
        this.produto = produto;
    }

    public String getDelivery() {
        return delivery;
    }

    public void setDelivery(String delivery) {
        this.delivery = delivery;
    }
}

Classe DAO:


    public List<Teste> listarTabela() {
                String sql = "SELECT INB_NO AS INBOUND, "
                + "ITEM_CD AS PRODUTO, "
                + "REF_NO AS DELIVERY "
                + "FROM GWMS.TWMS_IB_INB_D "
                + "WHERE ITEM_CD = ?";  // aqui se colocar o valor fixo eu consigo acessar
        List<Teste> lista = new ArrayList<Teste>();
        try {
            Connection conn = ConexaoDB.getConnection();
            PreparedStatement stmt = conn.prepareStatement(sql);
            //stmt.setString(1, teste.getProduto()); //aqui deveria setar o valor do textfield
            ResultSet rs = stmt.executeQuery();
            while (rs.next()) {
                Teste teste = new Teste();
                teste.setInbound(rs.getString("INBOUND"));
                teste.setProduto(rs.getString("PRODUTO"));
                teste.setDelivery(rs.getString("DELIVERY"));
                lista.add(teste);
            }
        } catch (SQLException ex) {
            System.out.println(ex.getMessage());
        }
        return lista;
    }
}

Classe view:

Código para chamar a tabela


    public void TabelaAtualizadaTeste(List lista) {
        AnnotationResolver resolver = new AnnotationResolver(Teste.class);
        ObjectTableModel<Teste> tableModel = new ObjectTableModel<Teste>(
                resolver, "inbound,produto,delivery");

        tableModel.setData(lista);
        JTable table = new JTable(tableModel);
        jScrollPane1.setViewportView(table);
        table.setVisible(true);
    }

Código do botão para chamar os métodos com o valor fixo:


private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         

        TesteDAO dao = new TesteDAO();
         List<Teste> list = dao.listarTabela();
         TabelaAtualizadaTeste(list);

    }

E com o valor da textfield que não sei como fazer:


private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         

        TesteDAO dao = new TesteDAO();
        Teste product = new Teste();
        product.setProduto(jTextField2.getText().toString());
        List<Teste> list = dao.listarTabela();
        TabelaAtualizadaTeste(list);


    } 

Não sei como chamar o método listarTabela com a textfield. Alguém poderia me ajudar?

Desde já agradeço

Alguém?

no seu metodo listarTabela vc precisa adicionar o parametro q contem o valor do filtro

tipo:

public List&lt;Teste&gt; listarTabela(String filtro){ . . . stmt.setString(1, filtro); . . . }

qndo vc chamar seu listarTabela vc passa seuTextField.getText();

[]'s

Cara funcionou perfeitamente.
Muito obrigado…

Eu me matando em casa com esse problema e era tão simples.

Vlwwwwwwwwwwwwww