/** ***************************************** */
 private void doDelete() {
   if (jcmb.getSelectedIndex() == 0) {
     JOptionPane.showMessageDialog(null, "Depp!");
     doEditsEinAus(false);
     regleButtons("1101000");
     return;
   }
   if (jcmb.getSelectedItem().toString().trim().equals(Reha.aktUser)) {
     int anfrage =
         JOptionPane.showConfirmDialog(
             null,
             "Sie sind im Begriff sich selbst zu löschen!!!!\n\nWollen Sie  das wirklich?\n\n",
             "Achtung wichtige Benutzeranfrage",
             JOptionPane.YES_NO_OPTION);
     if (anfrage == JOptionPane.YES_OPTION) {
       String id = (String) jcmb.getValueAt(4);
       String cmd = "delete from rehalogin where id='" + id + "' LIMIT 1";
       SqlInfo.sqlAusfuehren(cmd);
       jcmb.removeVector(jcmb.getSelectedIndex());
       jcmb.setSelectedIndex(0);
       doEditsEinAus(false);
     }
   } else if (!jcmb.getSelectedItem().toString().trim().equals(Reha.aktUser)) {
     String user = jcmb.getSelectedItem().toString();
     int anfrage =
         JOptionPane.showConfirmDialog(
             null,
             "Sie sind im Begriff einen Thera-Pi-Benutzer zu löschen!!!!\n\nWollen Sie  den Benutzer --> "
                 + user
                 + " <-- wirklich löschen?\n\n",
             "Achtung wichtige Benutzeranfrage",
             JOptionPane.YES_NO_OPTION);
     if (anfrage == JOptionPane.YES_OPTION) {
       String id = (String) jcmb.getValueAt(4);
       String cmd = "delete from rehalogin where id='" + id + "' LIMIT 1";
       SqlInfo.sqlAusfuehren(cmd);
       jcmb.removeVector(jcmb.getSelectedIndex());
     }
     jcmb.setSelectedIndex(0);
     doEditsEinAus(false);
   }
 }
  /** **************************** */
  private void doBenutzerWahl() {
    if (jcmb.getSelectedIndex() == 0) {
      tfs[0].setText("");
      pws[0].setText("");
      pws[1].setText("");
      aktuelleRechte = "";
      userid = "";
      this.internal.setTitle(elternTitel);
      regleButtons("1101000");
    } else {
      tfs[0].setText(jcmb.getSelectedItem().toString());
      pws[0].setText(jcmb.getValue().toString());
      pws[1].setText(jcmb.getValue().toString());

      //// System.out.println(ParameterLaden.pKollegen.get(jcmb.getSelectedIndex()-1).get(0));
      aktuelleRechte = ParameterLaden.pKollegen.get(jcmb.getSelectedIndex() - 1).get(2);
      if (!rechteTools.Rechte.hatRecht(rechteTools.Rechte.BenutzerSuper_user, false)
          && rechteTools.Rechte.testeRecht(aktuelleRechte, rechteTools.Rechte.BenutzerSuper_user)) {
        JOptionPane.showMessageDialog(
            null,
            "SuperUser-Rechte können nur von einem Benutzer mit SuperUser-Rechten geändert werden");
        jcmb.setSelectedIndex(0);
        tfs[0].setText("");
        pws[0].setText("");
        pws[1].setText("");
        aktuelleRechte = "";
        userid = "";
        regleButtons("1101000");
        return;
      }
      if (jchb.isSelected()) {
        this.internal.setTitle(elternTitel + " [PW:" + jcmb.getValue().toString() + "]");
      } else {
        this.internal.setTitle(elternTitel);
      }
      userid = ParameterLaden.pKollegen.get(jcmb.getSelectedIndex() - 1).get(4);
      regleButtons("1101000");
      aktualisiereTree(false);
    }
  }
  /** ***************************************** */
  @SuppressWarnings("unchecked")
  private void doSave() {
    String aktuelleruser = tfs[0].getText();
    if (!String.valueOf(pws[0].getPassword()).equals(String.valueOf(pws[1].getPassword()))) {
      JOptionPane.showMessageDialog(null, "Passwort und Passwortwiederholung sind nicht identisch");
      return;
    }
    if (!rechteTools.Rechte.hatRecht(rechteTools.Rechte.BenutzerRechte_set, true)) {
      return;
    }
    int lang = getNodeCount();
    StringBuffer buf = new StringBuffer();
    for (int i = 0; i < lang; i++) {
      JXRechteTreeTableNode node = holeNode(i);
      //// System.out.println(node.rechte.bildnummer);
      if (node.rechte.bildnummer >= 0) {
        buf.append(Integer.toString(node.rechte.bildnummer));
      }
    }
    String pw = buf.toString();
    if (!rechteTools.Rechte.hatRecht(rechteTools.Rechte.BenutzerSuper_user, false)
        && rechteTools.Rechte.testeRecht(pw, rechteTools.Rechte.BenutzerSuper_user)) {
      JOptionPane.showMessageDialog(
          null,
          "SuperUser-Rechte können nur von einem Benutzer mit SuperUser-Rechten vergeben werden");
      return;
    }

    Verschluesseln man = Verschluesseln.getInstance();
    man.init(Verschluesseln.getPassword().toCharArray(), man.getSalt(), man.getIterations());
    String encrypted = man.encrypt(pw);

    if (!neu) {
      //// System.out.println("Username = "******"Passwort = "+String.valueOf(pws[0].getPassword()));
      //// System.out.println("Rechte   = "+String.valueOf(pw));

      String cmd =
          "update rehalogin set user='******', password='******', rights='"
              + encrypted
              + "' where id='"
              + userid
              + "' LIMIT 1";
      SqlInfo.sqlAusfuehren(cmd);
      jcmb.setNewValueAtCurrentPosition(0, tfs[0].getText());
      jcmb.setNewValueAtCurrentPosition(1, String.valueOf(pws[1].getPassword()));
      jcmb.setNewValueAtCurrentPosition(2, buf.toString());
      if (Reha.aktUser.equals(jcmb.getSelectedItem().toString().trim())) {
        Reha.progRechte = buf.toString();
      }
    } else {
      // neuen Benutzer anlegen erst noch entwickeln;
      if (tfs[0].getText().equals("") || String.valueOf(pws[0].getPassword()).trim().equals("")) {
        JOptionPane.showMessageDialog(null, "Benutzername und Passwort darf nicht leer sein");
        jcmb.setSelectedIndex(0);
        doEditsEinAus(false);
        return;
      }
      int id = SqlInfo.holeId("rehalogin", "password");
      Vector<String> vec = new Vector<String>();
      vec.add(tfs[0].getText());
      vec.add(String.valueOf(pws[0].getPassword()));
      vec.add(buf.toString());
      vec.add("");
      vec.add(Integer.toString(id));
      jcmb.addNewVector((Vector<String>) vec.clone());
      String cmd =
          "update rehalogin set user='******', password='******', rights='"
              + encrypted
              + "' where id='"
              + Integer.toString(id)
              + "' LIMIT 1";
      SqlInfo.sqlAusfuehren(cmd);
    }
    ParameterLaden.Passwort();
    jcmb.removeActionListener(al);
    jcmb.setDataVectorWithStartElement(ParameterLaden.pKollegen, 0, 1, "./.");
    jcmb.addActionListener(al);
    jcmb.setSelectedItem(aktuelleruser);
  }