private void preencherTabela() {
        String[] propriedades = {"Id", "Nome", "Usuario", "Cpf", "Endereço","Carga Horaria", "Salario" };
        FuncionarioDAO dao = new FuncionarioDAO();
        List<Funcionario> funcionarios = dao.list();
        String[][] matriz = new String[funcionarios.size()][7];
        for (int i = 0; i < funcionarios.size(); i++) {
            Funcionario funcionario = funcionarios.get(i);
            matriz[i][0] = funcionario.getId() + "";
            matriz[i][1] = funcionario.getNome();
            matriz[i][2] = funcionario.getUsuario();
            matriz[i][3] = funcionario.getCpf();
            matriz[i][4] = funcionario.getEndereco();
            matriz[i][5] = funcionario.getCargaHoraria() + "";
            matriz[i][6] = funcionario.getSalario() + "";
        }
        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 (funcionarios.size() > 0) {
            tabelaProfessor.setModel(model);
            tabelaProfessor.setRowSorter(sorter);
        } else {
            tabelaProfessor.setModel(model);
            tabelaProfessor.setRowSorter(null);
        }

    }