public void setFuncionario(int id) {
    FuncionarioDAO fd = new FuncionarioDAO();
    Funcionario f = fd.consultarFuncionario(id);

    TextField_Nome.setText(f.getNome());
    TextField_Sobrenome.setText(f.getSobrenome());
    TextField_RG.setText(f.getRg());
    TextField_CPF.setText(f.getCpf());
    TextField_Telefone.setText(f.getTelefone());
    PasswordField_Senha.setText(f.getSenha());

    // Seta o departamento de acordo com o id
    DepartamentoDAO dd = new DepartamentoDAO();
    Departamento d = dd.consultarDepartamento(f.getDepartamento());
    for (int i = 0; i < ComboBox_Departamento.getItemCount(); i++) {
      Departamento dc = (Departamento) ComboBox_Departamento.getItemAt(i);
      if (dc.getId() == d.getId()) {
        ComboBox_Departamento.setSelectedIndex(i);
      }
    }

    if (f.getCargo() == 1) {
      // Seta o departamentos de acordo com o id
      FuncionarioDepartamentoDAO fdd = new FuncionarioDepartamentoDAO();
      List<Departamento> dlist = fdd.consultarFuncionarioDepartamento(f.getId());

      if (dlist.size() > 0) {
        int[] indices = new int[dlist.size()];
        int c = 0;
        for (int i = 0; i < List_Departamentos.getModel().getSize(); i++) {
          Departamento dc = (Departamento) List_Departamentos.getModel().getElementAt(i);
          for (Departamento dg : dlist) {
            if (dc.getId() == dg.getId()) {
              indices[c] = i;
              c++;
            }
          }
        }

        List_Departamentos.setSelectedIndices(indices);
      }
    } else if (f.getCargo() == 2) {
      // Seta o departamento de acordo com o id
      FuncionarioDepartamentoDAO fdd = new FuncionarioDepartamentoDAO();
      List<Departamento> dlist = fdd.consultarFuncionarioDepartamento(f.getId());

      if (dlist.size() > 0) {
        Departamento dg = dlist.get(0);
        for (int i = 0; i < ComboBox_Departamentos.getItemCount(); i++) {
          Departamento dc = (Departamento) ComboBox_Departamentos.getItemAt(i);
          if (dc.getId() == dg.getId()) {
            ComboBox_Departamentos.setSelectedIndex(i);
          }
        }
      }
    }

    ComboBox_Nivel.setSelectedItem(new Integer(f.getNivel()).toString());
    ComboBox_Cargo.setSelectedIndex(f.getCargo() - 1);
  }
  public void mostrardatos() {
    DefaultTableModel modelo = new DefaultTableModel();
    modelo.addColumn("C.I");
    modelo.addColumn("Nombre");
    modelo.addColumn("Apellido");
    modelo.addColumn("Cargo");
    modelo.addColumn("Telefono");
    modelo.addColumn("Direccion");
    String datosCargar[];
    FuncionarioDAO activar = new FuncionarioDAO();
    List aqui = activar.ListarPersona();

    Iterator<Funcionario> itrPartidos = aqui.iterator();
    while (itrPartidos.hasNext()) {

      Funcionario partido = itrPartidos.next();
      /* System.out.println(partido.getCiF() + " "
      + partido.getNombreF() + "  -"
      + partido.getApellidoF() + " "
      + partido.getRolCargo() + " "
      + partido.getTelefonoF() + " "
      + partido.getDireccionF()
      );*/
      RolCargo hacercambio = new RolCargo();
      hacercambio = partido.getRolCargo();
      //   Estado eft=new Estado();
      // eft=partido.getEstado();
      // System.out.println(eft.getEstado());
      // System.out.println(hacercambio.getCargo());

      datosCargar =
          new String[] {
            partido.getCiF(),
            partido.getNombreF(),
            partido.getApellidoF(),
            hacercambio.getCargo(),
            partido.getTelefonoF(),
            partido.getDireccionF()
          };
      modelo.addRow(datosCargar);
    }
    tabla.setModel(modelo);
    tabla.setDefaultRenderer(Object.class, new MyRender());
  }
  private void actualizarActionPerformed(
      java.awt.event.ActionEvent evt) { // GEN-FIRST:event_actualizarActionPerformed
    // TODO add your handling code here:
    int cbio = 0;
    nombre = ntxt.getText();
    apellido = atxt.getText();
    ci = ctxt.getText();
    telefono = ttxt.getText();
    direccion = dtxt.getText();
    combodes = (String) combogg.getItemAt(combogg.getSelectedIndex());
    RolCargoDAO buscar = new RolCargoDAO();

    Iterator<RolCargo> inserc = buscar.BCambiar(combodes).iterator();
    while (inserc.hasNext()) {
      RolCargo partido = inserc.next();
      cbio = partido.getIdRol();
    }
    FuncionarioDAO operacion1 = new FuncionarioDAO();

    Estado est = new Estado();
    est.setIdEstado(1);
    RolCargo rg = new RolCargo();
    rg.setIdRol(cbio);
    Funcionario pers = new Funcionario();
    /// ingresando valores al objeto
    pers.setEstado(est);
    pers.setNombreF(nombre);
    pers.setApellidoF(apellido);
    pers.setCiF(ci);
    pers.setRolCargo(rg);
    pers.setTelefonoF(telefono);
    pers.setDireccionF(direccion);
    /// insertando a la base de datos por medio
    operacion1.UpdateFuncionario(pers);

    LimpiarDatos();
    mostrardatos();
    actualizar.setVisible(false);
    registration.setVisible(true);
  } // GEN-LAST:event_actualizarActionPerformed
  private void salvarBtnActionPerformed(
      java.awt.event.ActionEvent evt) { // GEN-FIRST:event_salvarBtnActionPerformed

    String nome = TextField_Nome.getText();
    String sobrenome = TextField_Sobrenome.getText();
    String rg = TextField_RG.getText();
    String cpf = TextField_CPF.getText();
    String telefone = TextField_Telefone.getText();
    String senha = PasswordField_Senha.getText();

    if ("".equals(nome)
        || "".equals(sobrenome)
        || "".equals(rg)
        || "".equals(cpf)
        || "".equals(telefone)
        || "".equals(senha)) {
      JOptionPane.showMessageDialog(null, "Por favor, preencha todos os campos.");
    } else {

      int cargo = 0;
      int nivel = 0;

      List<Departamento> dl = List_Departamentos.getSelectedValuesList();

      nivel = Integer.parseInt((String) ComboBox_Nivel.getSelectedItem());

      Departamento d = (Departamento) ComboBox_Departamento.getSelectedItem();
      int departamento = d.getId();

      Departamento ds = (Departamento) ComboBox_Departamentos.getSelectedItem();
      int departamento_gerenciado = ds.getId();

      FuncionarioDAO fd = new FuncionarioDAO();

      // Verifica se é pra inserir ou fazer um update
      if (this.funcionarioId > 0) {

        int idFuncionario = this.funcionarioId;

        FuncionarioDepartamentoDAO fdd = new FuncionarioDepartamentoDAO();
        fdd.removerFuncionarioDepartamentoDeFuncionario(this.funcionarioId);

        if (ComboBox_Cargo.getSelectedItem().equals("Diretor")) {
          cargo = 1;
          Diretor f =
              new Diretor(nome, sobrenome, rg, cpf, telefone, cargo, nivel, departamento, senha);
          fd.alterarFuncionario(this.funcionarioId, f);
          if (idFuncionario > 0) {
            f.setId(idFuncionario);
            //                        fdd = new FuncionarioDepartamentoDAO();

            fdd.inserirFuncionarioDepartamento(dl, f);
          }
        } else if (ComboBox_Cargo.getSelectedItem().equals("Gerente")) {
          cargo = 2;
          Gerente f =
              new Gerente(nome, sobrenome, rg, cpf, telefone, cargo, nivel, departamento, senha);
          fd.alterarFuncionario(this.funcionarioId, f);
          if (idFuncionario > 0) {
            f.setId(idFuncionario);
            //                        FuncionarioDepartamentoDAO fdd = new
            // FuncionarioDepartamentoDAO();

            List<Departamento> dll = new ArrayList<Departamento>();
            dll.add(ds);

            fdd.inserirFuncionarioDepartamento(dll, f);
          }
        } else if (ComboBox_Cargo.getSelectedItem().equals("Analista")) {
          cargo = 3;
          Analista f =
              new Analista(nome, sobrenome, rg, cpf, telefone, cargo, nivel, departamento, senha);
          fd.alterarFuncionario(this.funcionarioId, f);
        } else if (ComboBox_Cargo.getSelectedItem().equals("Programador")) {
          cargo = 4;
          Programador f =
              new Programador(
                  nome, sobrenome, rg, cpf, telefone, cargo, nivel, departamento, senha);
          fd.alterarFuncionario(this.funcionarioId, f);
        } else {
          cargo = 5;
          nivel = 1;
          AuxiliarDeLimpeza f =
              new AuxiliarDeLimpeza(
                  nome, sobrenome, rg, cpf, telefone, cargo, nivel, departamento, senha);
          fd.alterarFuncionario(this.funcionarioId, f);
        }

        if (idFuncionario > 0) {
          JOptionPane.showMessageDialog(null, "Usuário alterado com sucesso.");
          setVisible(false);
          dispose();
        } else {
          JOptionPane.showMessageDialog(null, "Houve um erro ao alterar funcionario.");
        }

      } else {

        int idFuncionario = 0;

        if (ComboBox_Cargo.getSelectedItem().equals("Diretor")) {
          cargo = 1;
          Diretor f =
              new Diretor(nome, sobrenome, rg, cpf, telefone, cargo, nivel, departamento, senha);
          idFuncionario = fd.inserirFuncionario(f);
          if (idFuncionario > 0) {
            f.setId(idFuncionario);
            FuncionarioDepartamentoDAO fdd = new FuncionarioDepartamentoDAO();

            fdd.inserirFuncionarioDepartamento(dl, f);
          }
        } else if (ComboBox_Cargo.getSelectedItem().equals("Gerente")) {
          cargo = 2;
          Gerente f =
              new Gerente(nome, sobrenome, rg, cpf, telefone, cargo, nivel, departamento, senha);
          idFuncionario = fd.inserirFuncionario(f);
          if (idFuncionario > 0) {
            f.setId(idFuncionario);
            FuncionarioDepartamentoDAO fdd = new FuncionarioDepartamentoDAO();

            List<Departamento> dll = new ArrayList<Departamento>();
            dll.add(ds);

            fdd.inserirFuncionarioDepartamento(dll, f);
          }
        } else if (ComboBox_Cargo.getSelectedItem().equals("Analista")) {
          cargo = 3;
          Analista f =
              new Analista(nome, sobrenome, rg, cpf, telefone, cargo, nivel, departamento, senha);
          idFuncionario = fd.inserirFuncionario(f);
        } else if (ComboBox_Cargo.getSelectedItem().equals("Programador")) {
          cargo = 4;
          Programador f =
              new Programador(
                  nome, sobrenome, rg, cpf, telefone, cargo, nivel, departamento, senha);
          idFuncionario = fd.inserirFuncionario(f);
        } else {
          cargo = 5;
          nivel = 1;
          AuxiliarDeLimpeza f =
              new AuxiliarDeLimpeza(
                  nome, sobrenome, rg, cpf, telefone, cargo, nivel, departamento, senha);
          idFuncionario = fd.inserirFuncionario(f);
        }

        if (idFuncionario > 0) {
          JOptionPane.showMessageDialog(null, "Usuário inserido com sucesso.");
          setVisible(false);
          dispose();
        } else {
          JOptionPane.showMessageDialog(null, "Houve um erro ao inserir funcionario.");
        }
      }
    }
  } // GEN-LAST:event_salvarBtnActionPerformed