Ejemplo n.º 1
0
  private void questionsMenuItemActionPerformed(
      java.awt.event.ActionEvent evt) { // GEN-FIRST:event_questionsMenuItemActionPerformed
    JFileChooser f = new JFileChooser(System.getProperty("user.dir"));
    int result = f.showOpenDialog(this);
    if (result == JFileChooser.APPROVE_OPTION) this.file = f.getSelectedFile();
    else return;

    displayCenteredText("");

    QuestionParser parser = new QuestionParser(file);
    List<Dilemma> dList = parser.getDilemmaList();
    this.warmupList = parser.getWarmupList();
    qd.setDilemmas(dList);

    if (parser.isXmlFileOk() == true) {
      qd.setVisible(true);
      qd.clearAll();
      this.startButton.setEnabled(true);
    } else {
      displayCenteredText("Plik jest niepoprawny!");
      return;
    }
    if (ud.getName() == null || ud.getName().isEmpty()) {
      displayCenteredText("Wpisz dane użytkownika");
    } else {
      this.startButton.setText("START");
    }
  } // GEN-LAST:event_questionsMenuItemActionPerformed
Ejemplo n.º 2
0
 private void startButtonActionPerformed(
     java.awt.event.ActionEvent evt) { // GEN-FIRST:event_startButtonActionPerformed
   if (selectedDilemmas == null || selectedDilemmas.isEmpty()) {
     displayCenteredText("Załaduj plik z pytaniami.");
     return;
   }
   if (ud.getName() == null || ud.getName().isEmpty()) {
     ud.setVisible(true);
     return;
   }
   this.questionThread = new QuestionThread(this);
   this.answers.clear();
   this.threadObject = new Thread(this.questionThread);
   this.threadObject.start();
 } // GEN-LAST:event_startButtonActionPerformed
Ejemplo n.º 3
0
  private void writeReport() {

    long deonCount = 0;
    long utilCount = 0;
    double deonTime = 0;
    double utilTime = 0;
    double totalTime = 0;

    SimpleDateFormat sdf = new SimpleDateFormat("dd-M-yyyy");
    String date = sdf.format(new Date());
    String[] questionsFile = this.file.getName().split("\\.");
    boolean newDate = false;
    File resultsFile = new File("Odpowiedzi_" + questionsFile[0] + "_" + date + ".csv");
    if (resultsFile.exists() == false) {
      newDate = true;
    }

    displayCenteredText("KONIEC BADANIA.\r\nDZIĘKUJEMY ZA UDZIAŁ.");

    for (Dilemma selected : selectedDilemmas) {
      System.out.println(selected);
      if ("TAK".equals(selected.getAnswer())) {
        utilCount++;
        utilTime += selected.getSeconds();
      }
      if ("NIE".equals(selected.getAnswer())) {
        deonCount++;
        deonTime += selected.getSeconds();
      }
      Long time = selected.getSeconds();
      totalTime += time;
    }

    if (utilCount > 0) {
      utilTime = ((double) utilTime / (double) utilCount);
      // utilTimeStr = String.format(new Locale("US"),"%.2f",utilTime);
      // this.textArea.append("\nŚredni czas decyzji utylitarnej (ms): " + utilTimeStr);
    }
    if (deonCount > 0) {
      deonTime = ((double) deonTime / (double) deonCount);
      // deonTimeStr = String.format(new Locale("US"),"%.2f",deonTime);
      // this.textArea.append("\nŚredni czas decyzji deontologicznej (ms): " + deonTimeStr);
    }

    try {

      BufferedWriter bufferedWriter =
          new BufferedWriter(new OutputStreamWriter(new FileOutputStream(resultsFile, true)));
      StringBuffer sb = new StringBuffer();
      if (newDate) {
        String[] fields =
            new String[] {
              "Kod osoby",
              "Data badania",
              "Imię",
              "Nazwisko",
              "Wiek",
              "Płeć",
              "Miejsce zamieszkania",
              "Praworęczność",
              "Lata edukacji",
              "Urazy głowy",
              "Leczenie neur.",
              "Leczenie psych.",
              "Zażywa leki psych.",
              "Kłopoty z pam.",
              "Uzależnienia",
              "Decyzja utylitarna",
              "Decyzja deontologiczna",
              "Średni czas decyzji utylitarnej (ms)",
              "Średni czas decyzji deontologicznej (ms)"
            };
        String fieldStr = StringUtils.join(fields, ";");
        sb.append(fieldStr).append("\r\n");
      }
      String[] userData =
          new String[] {
            ud.getCode(),
            date,
            ud.getName(),
            ud.getSurname(),
            new Integer(ud.getAge()).toString(),
            new Integer(ud.getGender()).toString(),
            new Integer(ud.getPlace()).toString(),
            new Integer(ud.getHandedness()).toString(),
            new Integer(ud.getEducationYears()).toString(),
            // Interview
            new Integer(ud.getHeadInjuries()).toString(),
            new Integer(ud.getNeurotreatment()).toString(),
            new Integer(ud.getPsychotreatment()).toString(),
            new Integer(ud.getOnDrugs()).toString(),
            new Integer(ud.getMemoryPb()).toString(),
            new Integer(ud.getAddictions()).toString(),
            new Long(utilCount).toString(),
            new Long(deonCount).toString(),
            new Double(utilTime).toString(),
            new Double(deonTime).toString()
          };

      String userDataStr = StringUtils.join(userData, ";");
      sb.append(userDataStr);
      sb.append("\r\n");
      bufferedWriter.append(sb);
      bufferedWriter.flush();
      bufferedWriter.close();
      sb.delete(0, sb.length());
    } catch (IOException ex) {
      Logger.getLogger(DylematorUI.class.getName()).log(Level.SEVERE, null, ex);
    }
    String totalTimeStr = String.format(new Locale("US"), "%.2f", totalTime / 1000);
    // this.textArea.append("\nCałkowity czas: " + totalTimeStr + " sek.\n");
  }