public void constructDialog() {
    sim.disableGUIComponents();

    String fileEnding = ".guiConf";
    if (dataFileChooser.showSaveDialog(frame) == JFileChooser.APPROVE_OPTION) {
      try {
        chosenFile = dataFileChooser.getSelectedFile();

        String filename = chosenFile.getName();

        if (!filename.endsWith(fileEnding)) {
          filename = filename.concat(fileEnding);

          if (!chosenFile.getName().equals(filename)) {
            File newChosenFile = new File(chosenFile.getParent(), filename);

            chosenFile = newChosenFile;
          }
        }

        Writer output = null;

        output = new BufferedWriter(new FileWriter(chosenFile));
        output.write(writeGUIConfig());

        output.close();
        System.out.println("Your file has been written");
      } catch (Exception e) {
        System.err.println("Error While Writting/Saving Gui Configuration File");
        e.printStackTrace();
      }
    }

    sim.enableGUIComponents();
  }