Ejemplo n.º 1
0
    public void actionPerformed(ActionEvent e) {

      GUI.resetGUI();
      if (GUInterface.selectedInput == GUInterface.DescInputChooseMode) {
        JOptionPane.showMessageDialog(
            GUI.MRMCobject.getFrame(),
            "Please choose one kind of input file.",
            "Error",
            JOptionPane.ERROR_MESSAGE);
        return;
      }
      JFileChooser fc = new JFileChooser();
      FileNameExtensionFilter filter =
          new FileNameExtensionFilter("iMRMC Input Files (.imrmc or csv)", "csv", "imrmc");

      if (GUI.inputfileDirectory != null) fc.setCurrentDirectory(GUI.inputfileDirectory);

      fc.setFileFilter(filter);
      int returnVal = fc.showOpenDialog((Component) e.getSource());
      if (returnVal == JFileChooser.CANCEL_OPTION || returnVal == JFileChooser.ERROR_OPTION) return;
      GUI.inputfileDirectory = fc.getCurrentDirectory(); // save last time visit directory
      /*
       *  Get a pointer to the input file and the filename
       */
      File f = fc.getSelectedFile();
      if (f == null) return;
      InputFile1.filename = f.getPath();
      JTextFilename.setText(f.getPath());
      //			GUI.inputfileDirectory = f.getPath();
      /*
       *  Read the .imrmc input file, check for exceptions
       */
      try {
        InputFile1.ReadInputFile(GUI);
      } catch (IOException except) {
        except.printStackTrace();
        JOptionPane.showMessageDialog(
            GUI.MRMCobject.getFrame(), except.getMessage(), "Error", JOptionPane.ERROR_MESSAGE);
        GUI.resetGUI();
        JTextFilename.setText("");
        return;
      }

      /*
       * Compare the experimental design as determined from fields in the header vs. the data
       */
      if (!InputFile1.dataCheckResults.isEmpty()) {
        JOptionPane.showMessageDialog(
            GUI.MRMCobject.getFrame(),
            InputFile1.dataCheckResults,
            "Warning: Input Header Values Do Not Match Actual Values",
            JOptionPane.WARNING_MESSAGE);
      } else {
        JOptionPane.showMessageDialog(
            GUI.MRMCobject.getFrame(),
            "NR = "
                + InputFile1.Nreader
                + " N0 = "
                + InputFile1.Nnormal
                + " N1 = "
                + InputFile1.Ndisease
                + " NM = "
                + InputFile1.Nmodality,
            "Study Info",
            JOptionPane.INFORMATION_MESSAGE);
      }

      /*
       * Initialze modality pulldown menus
       */
      for (String ModalityID : InputFile1.getModalityIDs()) {
        chooseA.addItem(ModalityID);
        chooseB.addItem(ModalityID);
      }
      DBRecordStat.modalityA = GUInterface.NO_MOD;
      DBRecordStat.modalityB = GUInterface.NO_MOD;
    }