From 1a32edd3731beba89a316b63b7013d5cd38dcc0e Mon Sep 17 00:00:00 2001 From: 7u83 <7u83@maiol.ru> Date: Sat, 8 Apr 2017 10:13:09 +0200 Subject: [PATCH] Save As now catches exeptions --- nbproject/project.properties | 2 +- src/gui/Globals.java | 30 +++++++++++++++++++----------- src/gui/SeSimApplication.form | 3 +++ src/gui/SeSimApplication.java | 24 ++++++++++++++++++------ 4 files changed, 41 insertions(+), 18 deletions(-) diff --git a/nbproject/project.properties b/nbproject/project.properties index 3a090bf..eaf335a 100644 --- a/nbproject/project.properties +++ b/nbproject/project.properties @@ -1,4 +1,4 @@ -#Sat, 08 Apr 2017 08:35:31 +0200 +#Sat, 08 Apr 2017 10:00:51 +0200 annotation.processing.enabled=true annotation.processing.enabled.in.editor=false annotation.processing.processors.list= diff --git a/src/gui/Globals.java b/src/gui/Globals.java index df5a7b6..73c1fb5 100644 --- a/src/gui/Globals.java +++ b/src/gui/Globals.java @@ -127,7 +127,7 @@ public class Globals { .getPath()).toString(); pathlist.add(dp); - LOGGER.info(String.format("Path %s",dp)); + LOGGER.info(String.format("Path %s", dp)); tloader = new AutoTraderLoader(pathlist); } @@ -180,20 +180,28 @@ public class Globals { prefs.put(STRATEGYPREFS, cfgs.toString()); } - static void saveFile(File f) { + public static class FileStrings { + + public static final String SESIMVERSION = "sesim_version"; + public static final String STRATEGIES = "strategies"; + public static final String TRADERS = "traders"; + } + + static void saveFile(File f) throws FileNotFoundException { JSONObject sobj = new JSONObject(); + JSONArray traders = getTraders(); JSONObject strategies = getStrategies(); - sobj.put("strategies", strategies); - sobj.put("traders", traders); - try { - PrintWriter out = new PrintWriter(f.getAbsolutePath()); - out.print(sobj.toString(4)); - out.close(); - } catch (FileNotFoundException ex) { - Logger.getLogger(Globals.class.getName()).log(Level.SEVERE, null, ex); - } + + sobj.put(FileStrings.SESIMVERSION, "0.1"); + sobj.put(FileStrings.STRATEGIES, strategies); + sobj.put(FileStrings.TRADERS, traders); + + PrintWriter out; + out = new PrintWriter(f.getAbsolutePath()); + out.print(sobj.toString(4)); + out.close(); } diff --git a/src/gui/SeSimApplication.form b/src/gui/SeSimApplication.form index f09c6b9..f4e9fd1 100644 --- a/src/gui/SeSimApplication.form +++ b/src/gui/SeSimApplication.form @@ -76,6 +76,9 @@ + + + diff --git a/src/gui/SeSimApplication.java b/src/gui/SeSimApplication.java index 0bf7fcd..c37b876 100644 --- a/src/gui/SeSimApplication.java +++ b/src/gui/SeSimApplication.java @@ -42,6 +42,7 @@ import java.util.logging.Logger; import java.util.prefs.Preferences; import javax.swing.JDialog; import javax.swing.JFileChooser; +import javax.swing.JOptionPane; import static javax.swing.ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER; import javax.swing.UIManager; import javax.swing.filechooser.FileNameExtensionFilter; @@ -346,6 +347,11 @@ public class SeSimApplication extends javax.swing.JFrame { saveMenuItem.setMnemonic('s'); saveMenuItem.setText("Save"); + saveMenuItem.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + saveMenuItemActionPerformed(evt); + } + }); fileMenu.add(saveMenuItem); saveAsMenuItem.setMnemonic('a'); @@ -607,18 +613,20 @@ public class SeSimApplication extends javax.swing.JFrame { String[] e = ((FileNameExtensionFilter) fc.getFileFilter()).getExtensions(); - System.out.printf("Abs: %s\n", f.getAbsoluteFile()); - String fn = f.getAbsolutePath(); if (!f.getAbsolutePath().endsWith(e[0])) { f = new File(f.getAbsolutePath() + "." + e[0]); } - Globals.saveFile(f); - - System.out.printf("Sel File: %s \n", f.getAbsolutePath()); - + try{ + Globals.saveFile(f); + } + catch (Exception ex){ + + JOptionPane.showMessageDialog(this, "Can't save file "+ex.getMessage(),"Error",JOptionPane.ERROR_MESSAGE); + + } }//GEN-LAST:event_saveAsMenuItemActionPerformed @@ -704,6 +712,10 @@ javax.swing.SwingUtilities.invokeLater(()->{ System.out.printf("Accel Spinner PRop Change\n"); }//GEN-LAST:event_accelSpinnerPropertyChange + private void saveMenuItemActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_saveMenuItemActionPerformed + // TODO add your handling code here: + }//GEN-LAST:event_saveMenuItemActionPerformed + /** * @param args the command line arguments * @throws java.lang.IllegalAccessException