Produtos não aparece em Jtable e nem clicando no botão pesquizar

os produtos cadastrados não estão aparecendo no Jtable e nem quando clicado no botão pesquisar.
Os produtos estão sendo cadastrado normalmente , mas não esta endo listado apos cadastrado e nem ao clicar no botão pesquisar.
Segue os codigos abaixo:

Camada Visão, tela de produtos

frmProdutos.java


package SistemaJava.view;

import SistemaJava.control.ProdutosControl;
import SistemaJava.model.Produtos;
import java.util.List;
import javax.swing.JOptionPane;
import javax.swing.JTable;
import javax.swing.ListSelectionModel;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import javax.swing.table.DefaultTableModel;

/**
 *
 * @author Marcelo
 */
public class frmProdutos extends javax.swing.JFrame {

    /** Creates new form frmProdutos */
    public frmProdutos() {
        initComponents();
    }

    ListSelectionModel lsmProdutos;
    
    private boolean isNovoCadastro=false;
    
    private void tbProdutosSelecao(JTable tabela){
    if(tabela.getSelectedRow()!= -1){
    tfDescricao.setText(listaProdutos.get(tabela.getSelectedRow()).getDescricao());
    tfValor.setText(Double.toString(
            listaProdutos.get(tabela.getSelectedRow()).getValor()));
    
    tfEstoque.setText(Integer.toString(
            listaProdutos.get(tabela.getSelectedRow()).getEstoque()));
    
    tfCodigoFornecedor.setText(Integer.toString(
            listaProdutos.get(tabela.getSelectedRow()).getForCodigo()));
    
        desabilitarCampos();
        btAlterar.setEnabled(true);
        btExcluir.setEnabled(true);
    }else{
    
       limparCampos();
       btAlterar.setEnabled(false);
       btExcluir.setEnabled(false);
    
    }
    
    }
    
    private void limparCampos(){
    
        tfDescricao.setText("");
        tfValor.setText("0.00");
        tfEstoque.setText("0");
        tfCodigoFornecedor.setText("");
        tfForNome.setText("");
    }
    
    private void habilitarCampos(){
       btSalvar.setEnabled(true);
       jButton1.setEnabled(true);
       tfDescricao.setEnabled(true);
       tfValor.setEnabled(true);
       tfEstoque.setEnabled(true);
       tfCodigoFornecedor.setEnabled(true);
       tfForNome.setEnabled(true);
    }
        
    
     private void desabilitarCampos(){
       btSalvar.setEnabled(false);
       jButton1.setEnabled(false);
       tfDescricao.setEnabled(false);
       tfValor.setEnabled(false);
       tfEstoque.setEnabled(false);
       tfCodigoFornecedor.setEnabled(false);
       tfForNome.setEnabled(false);
    }
    
     DefaultTableModel  tmProdutos;
    List<Produtos> listaProdutos;
 
    private void listarProdutos(){
    
    ProdutosControl produtosControl = new ProdutosControl();    
    tmProdutos = (DefaultTableModel) tbProdutos.getModel();
    
    while (tmProdutos.getRowCount()>0){
    tmProdutos.removeRow(0);
    
    }
    
    listaProdutos = produtosControl.consultarProdutos(
               tfPesquisa.getText().trim());
            
    if(listaProdutos.isEmpty())
    
    {
    JOptionPane.showMessageDialog(this, "Nenhum Produto encontrado"
                
                );
        
    }
      
    for(int i=0; i<listaProdutos.size();i++){
    tmProdutos.addRow(new String[5]);
    tmProdutos.setValueAt(listaProdutos.get(i).getCodigo, i, 0);
    tmProdutos.setValueAt(listaProdutos.get(i).getValor, i, 1);
    tmProdutos.setValueAt(listaProdutos.get(i).getDescricao, i, 2);
    tmProdutos.setValueAt(listaProdutos.get(i).getEstoque, i, 3);
    tmProdutos.setValueAt(listaProdutos.get(i).getForCodigo, i, 4);
    }
      desabilitarCampos();
      limparCampos();
        }
    
    
    
    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
    private void initComponents() {

        jScrollPane1 = new javax.swing.JScrollPane();
        tbProdutos = new javax.swing.JTable();
        tfPesquisa = new javax.swing.JTextField();
        btPesquisa = new javax.swing.JButton();
        jLabel1 = new javax.swing.JLabel();
        jLabel2 = new javax.swing.JLabel();
        jLabel3 = new javax.swing.JLabel();
        jLabel4 = new javax.swing.JLabel();
        tfDescricao = new javax.swing.JTextField();
        tfValor = new javax.swing.JTextField();
        tfEstoque = new javax.swing.JTextField();
        tfCodigoFornecedor = new javax.swing.JTextField();
        tfForNome = new javax.swing.JTextField();
        btNovo = new javax.swing.JButton();
        btAlterar = new javax.swing.JButton();
        btExcluir = new javax.swing.JButton();
        btSalvar = new javax.swing.JButton();
        jButton1 = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
        setTitle("Cadastro de Produtos");

        tbProdutos.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null, null, null, null},
                {null, null, null, null, null},
                {null, null, null, null, null},
                {null, null, null, null, null},
                {null, null, null, null, null},
                {null, null, null, null, null},
                {null, null, null, null, null}
            },
            new String [] {
                "Código", "Valor", "Descrição", "Estoque", "Fornecedor"
            }
        ) {
            boolean[] canEdit = new boolean [] {
                false, false, false, true, false
            };

            public boolean isCellEditable(int rowIndex, int columnIndex) {
                return canEdit [columnIndex];
            }
        });
        tbProdutos.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
        lsmProdutos = tbProdutos.getSelectionModel();
        lsmProdutos.addListSelectionListener(

            new ListSelectionListener(){

                public void valueChanged(ListSelectionEvent e){

                    if(! e.getValueIsAdjusting()){
                        tbProdutosSelecao(tbProdutos);

                    }

                }

            }
        );
        jScrollPane1.setViewportView(tbProdutos);

        btPesquisa.setText("Pesquisar");
        btPesquisa.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btPesquisaActionPerformed(evt);
            }
        });

        jLabel1.setText("Descrição:");

        jLabel2.setText("Valor:");

        jLabel3.setText("Estoque:");

        jLabel4.setText("Fornecedor:");

        tfDescricao.setEnabled(false);

        tfValor.setText("0,00");
        tfValor.setEnabled(false);

        tfEstoque.setText("0");
        tfEstoque.setEnabled(false);

        tfCodigoFornecedor.setEnabled(false);

        tfForNome.setEnabled(false);

        btNovo.setText(" Novo");
        btNovo.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btNovoActionPerformed(evt);
            }
        });

        btAlterar.setText("Alterar");
        btAlterar.setEnabled(false);
        btAlterar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btAlterarActionPerformed(evt);
            }
        });

        btExcluir.setText("Excluir");
        btExcluir.setEnabled(false);
        btExcluir.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btExcluirActionPerformed(evt);
            }
        });

        btSalvar.setText("Salvar");
        btSalvar.setEnabled(false);
        btSalvar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btSalvarActionPerformed(evt);
            }
        });

        jButton1.setText("Pesquisar");
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addContainerGap()
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(layout.createSequentialGroup()
                                .addComponent(tfPesquisa, javax.swing.GroupLayout.PREFERRED_SIZE, 189, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(31, 31, 31)
                                .addComponent(btPesquisa))
                            .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 375, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGroup(layout.createSequentialGroup()
                                .addComponent(jLabel3)
                                .addGap(18, 18, 18)
                                .addComponent(tfEstoque, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(layout.createSequentialGroup()
                                .addComponent(jLabel4)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(tfCodigoFornecedor, javax.swing.GroupLayout.PREFERRED_SIZE, 52, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(18, 18, 18)
                                .addComponent(tfForNome, javax.swing.GroupLayout.PREFERRED_SIZE, 124, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(18, 18, 18)
                                .addComponent(jButton1))
                            .addGroup(layout.createSequentialGroup()
                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(jLabel1)
                                    .addComponent(jLabel2))
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(tfValor, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(tfDescricao, javax.swing.GroupLayout.PREFERRED_SIZE, 286, javax.swing.GroupLayout.PREFERRED_SIZE)))))
                    .addGroup(layout.createSequentialGroup()
                        .addGap(43, 43, 43)
                        .addComponent(btNovo)
                        .addGap(18, 18, 18)
                        .addComponent(btAlterar)
                        .addGap(18, 18, 18)
                        .addComponent(btExcluir)
                        .addGap(18, 18, 18)
                        .addComponent(btSalvar)))
                .addContainerGap(15, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(17, 17, 17)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(tfPesquisa, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(btPesquisa))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 91, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel1)
                    .addComponent(tfDescricao, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(18, 18, 18)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel2)
                    .addComponent(tfValor, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(18, 18, 18)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel3)
                    .addComponent(tfEstoque, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(18, 18, 18)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel4)
                    .addComponent(tfCodigoFornecedor, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(tfForNome, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jButton1))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 21, Short.MAX_VALUE)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(btNovo)
                    .addComponent(btAlterar)
                    .addComponent(btExcluir)
                    .addComponent(btSalvar))
                .addContainerGap())
        );

        pack();
    }// </editor-fold>                        

 public static void importaFornecedor(int codigo, String nome){
    
    tfCodigoFornecedor.setText(String.valueOf(codigo));
    tfForNome.setText(nome);
    }
    
    private void btPesquisaActionPerformed(java.awt.event.ActionEvent evt) {                                           
       listarProdutos();
    }                                          

    private void btNovoActionPerformed(java.awt.event.ActionEvent evt) {                                       
       isNovoCadastro = true;
               habilitarCampos();
               limparCampos();
    }                                      

    private void btAlterarActionPerformed(java.awt.event.ActionEvent evt) {                                          
        isNovoCadastro = false;
               habilitarCampos();
    }                                         

    private void btSalvarActionPerformed(java.awt.event.ActionEvent evt) {                                         
       if(isNovoCadastro){
           cadastrarProduto();
       }else{
          alterarProdutos();
       }
           
    }                                        

    private void btExcluirActionPerformed(java.awt.event.ActionEvent evt) {                                          
        new ProdutosControl().excluirProduto(listaProdutos.get(tbProdutos.getSelectedRow()));
        listarProdutos();
    }                                         

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        frmLocalizarFornecedor.main(new String[0]); 
    }                                        

    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {

            public void run() {
                new frmProdutos().setVisible(true);
            }
        });
    }
    // Variables declaration - do not modify                     
    private javax.swing.JButton btAlterar;
    private javax.swing.JButton btExcluir;
    private javax.swing.JButton btNovo;
    private javax.swing.JButton btPesquisa;
    private javax.swing.JButton btSalvar;
    private javax.swing.JButton jButton1;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JTable tbProdutos;
    private static javax.swing.JTextField tfCodigoFornecedor;
    private javax.swing.JTextField tfDescricao;
    private javax.swing.JTextField tfEstoque;
    private static javax.swing.JTextField tfForNome;
    private javax.swing.JTextField tfPesquisa;
    private javax.swing.JTextField tfValor;
    // End of variables declaration                   

    private void cadastrarProduto() {
      if(isCamposPreenchidos()){
      Produtos produtos = new Produtos();
      produtos.setDescricao(tfDescricao.getText().trim());
      produtos.setValor(Double.valueOf(tfValor.getText().trim()));
      produtos.setEstoque(Integer.parseInt(tfEstoque.getText().trim()));
      produtos.setForCodigo(Integer.parseInt(tfCodigoFornecedor.getText().trim()));
      new ProdutosControl().cadastrarProduto(produtos);
      listarProdutos();
    }
}

    private boolean isCamposPreenchidos() {
        if(tfDescricao.getText().trim().equals("")){
         JOptionPane.showMessageDialog(this, "Preencha o Campo Decrição!");
         tfDescricao.requestFocus();
         return false;
        }

          if(tfValor.getText().trim().equals("")){
         JOptionPane.showMessageDialog(this, "Preencha o Campo Valor!");
         tfValor.requestFocus();
         return false;
        }
          
          if(tfEstoque.getText().trim().equals("")){
         JOptionPane.showMessageDialog(this, "Preencha o Campo Estoque!");
         tfEstoque.requestFocus();
         return false;
        }
        
           if(tfCodigoFornecedor.getText().trim().equals("")){
         JOptionPane.showMessageDialog(this, "Informe o Fornecedor!");
         tfCodigoFornecedor.requestFocus();
         return true;
        }
          
          return true;
    }

    private void alterarProdutos() {
        if(isCamposPreenchidos()){
      Produtos produtos = new Produtos();
      produtos.setCodigo(listaProdutos.get(tbProdutos.getSelectedRow()).getCodigo());
      produtos.setDescricao(tfDescricao.getText().trim());
      produtos.setValor(Double.valueOf(tfValor.getText().trim()));
      produtos.setEstoque(Integer.parseInt(tfEstoque.getText().trim()));
      produtos.setForCodigo(Integer.parseInt(tfCodigoFornecedor.getText().trim()));
      new ProdutosControl().alterarProduto(produtos);
      listarProdutos();
    }
        
    }
    
}



Camada controle

ProdutosControl.java


package SistemaJava.control;
import SistemaJava.AcessoBD.AcessoMySql;
import SistemaJava.model.Produtos;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author Marcelo
 */
public class ProdutosControl {

  PreparedStatement pstm;
  ResultSet rs;
  
  public List<Produtos> consultarProdutos(String descricao){
  List<Produtos> listaProdutos = new ArrayList<Produtos>();
  AcessoMySql mySql = new AcessoMySql();
  String stringConsulta = "SELECT * FROM produtos WHERE proDescricao LIKE ?";
  
  try{
  
      pstm = mySql.conectar().prepareStatement(stringConsulta);
      pstm.setString(1, "&" + descricao + "&");
      rs = pstm.executeQuery();
      
      while(rs.next()){
      
          Produtos produto = new Produtos();
          produto.setCodigo(rs.getInt("proCodigo"));
          produto.setValor(rs.getDouble("proValor"));
          produto.setDescricao(rs.getString("proDescricao"));
          produto.setEstoque(rs.getInt("proEstoque"));
          produto.setForCodigo(rs.getInt("proForCodigo"));
          produto.setCodigo(rs.getInt("proCodigo"));
          listaProdutos.add(produto);
      
      }
      mySql.desconectar();
      
  }catch(SQLException e){
  }
  return listaProdutos;
  }

  public void cadastrarProduto(Produtos produto){
AcessoMySql MySql = new AcessoMySql();
String stringCadastro = "INSERT INTO produtos VALUES (null,?,?,?,?)";
try{
     pstm = MySql.conectar().prepareStatement(stringCadastro);
     pstm.setDouble(1, produto.getValor());
     pstm.setString(2, produto.getDescricao());
     pstm.setInt(3, produto.getEstoque());
     pstm.setInt(4, produto.getForCodigo());
     pstm.executeUpdate();
     MySql.desconectar();
}catch(SQLException e){
e.printStackTrace();
}  

  }

  public void alterarProduto(Produtos produto){
AcessoMySql MySql = new AcessoMySql();
String stringAlterar = "UPDATE produtos SET proValor=?, proDescricao=?,"
    + "proEstoque=?, forCodigo=?, WHERE proCodigo=?";    
try{
     pstm = MySql.conectar().prepareStatement(stringAlterar);
     pstm.setDouble(1, produto.getValor());
     pstm.setString(2, produto.getDescricao());
     pstm.setInt(3, produto.getEstoque());
     pstm.setInt(4, produto.getForCodigo());
     pstm.setInt(5, produto.getCodigo());
     pstm.executeUpdate();
     MySql.desconectar();
}catch(SQLException e){
e.printStackTrace();
}  

  }
  
  public void excluirProduto(Produtos produto){
  
 AcessoMySql MySql = new AcessoMySql();
 String stringExcluir = "DELETE FROM produtos WHERE proCodigo = ?";
 try{
 
 pstm = MySql.conectar().prepareStatement(stringExcluir);
 pstm.setInt(1, produto.getCodigo()); 
 pstm.executeUpdate();   
 MySql.desconectar();
 }catch(SQLException e){
 e.printStackTrace();
 }
  
  }
  
  
}

e o engraçado é que ao compilar não esta gerando erro.

Tópico movido para o fórum de interface gráfica.

  1. De nada adianta ter um “ProdutoControl”, dando a impressão que você tem um MVC, se no final você estraga sua arquitetura usando DefaultTableModel.
  2. Aprenda a fazer seu próprio ProdutoTableModel. Os links estão na minha assinatura.
  3. Seu like está errado. Deveria ser:

E não &.

Resolvido, eu mesmo analisando o código consegui resover, tem que colocar o () depois dos metodos gets da lista

exemplo getCodigo()
getaValor().


     
    for(int i=0; i<listaProdutos.size();i++){  
    tmProdutos.addRow(new String[5]);  
    tmProdutos.setValueAt(listaProdutos.get(i).getCodigo, i, 0);  
    tmProdutos.setValueAt(listaProdutos.get(i).getValor, i, 1);  
    tmProdutos.setValueAt(listaProdutos.get(i).getDescricao, i, 2);  
    tmProdutos.setValueAt(listaProdutos.get(i).getEstoque, i, 3);  
    tmProdutos.setValueAt(listaProdutos.get(i).getForCodigo, i, 4);  
    }  
      desabilitarCampos();  
      limparCampos();  
        }  
      

Se seu código ainda está assim, e não usando o TableModel, como eu falei, está só esperando para dar novos problemas.
Não use DefaultTableModel.

Acho engraçado como pessoas gastam tempo escrevendo “Daos”, “Controllers”, etc… mas negligenciam escrever as classes de Model corretamente.