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; }