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