private void preencherTabela() {
        String[] propriedades = {"Id", "Nome", "Preco"};
        ProdutoDAO dao = new ProdutoDAO();
        List<Produto> produtos = dao.list();
        String[][] matriz = new String[produtos.size()][3];
        for (int i = 0; i < produtos.size(); i++) {
            Produto produto = produtos.get(i);
            matriz[i][0] = produto.getId() + "";
            matriz[i][1] = produto.getNome();
            matriz[i][2] = produto.getPreco() + "";
        }
        TableModel model;

        model = new DefaultTableModel(matriz, propriedades) {
            public Class getColumnClass(int column) {
                Class returnValue;
                if ((column >= 0) && (column < getColumnCount())) {
                    returnValue = getValueAt(0, column).getClass();
                } else {
                    returnValue = Object.class;
                }
                return returnValue;
            }
        };

        this.sorter = new TableRowSorter<TableModel>(model);
        if (produtos.size() > 0) {
            tabelaProduto.setModel(model);
            tabelaProduto.setRowSorter(sorter);
        } else {
            tabelaProduto.setModel(model);
            tabelaProduto.setRowSorter(null);
        }

    }