From 357fd5b55cbe88afd6429c65b9919eb5db84db8a Mon Sep 17 00:00:00 2001 From: Bill Kuker Date: Wed, 24 Nov 2010 17:42:23 +0000 Subject: [PATCH] Remember window locations --- ...RemeberJFrame.java => RememberJFrame.java} | 27 +++++++++++-------- .../visual/workbench/MotorWorkbench.java | 7 ++--- .../visual/workbench/MotorsEditor.java | 6 +++-- 3 files changed, 24 insertions(+), 16 deletions(-) rename gui/com/billkuker/rocketry/motorsim/visual/{RemeberJFrame.java => RememberJFrame.java} (64%) diff --git a/gui/com/billkuker/rocketry/motorsim/visual/RemeberJFrame.java b/gui/com/billkuker/rocketry/motorsim/visual/RememberJFrame.java similarity index 64% rename from gui/com/billkuker/rocketry/motorsim/visual/RemeberJFrame.java rename to gui/com/billkuker/rocketry/motorsim/visual/RememberJFrame.java index e75622b..0176a41 100644 --- a/gui/com/billkuker/rocketry/motorsim/visual/RemeberJFrame.java +++ b/gui/com/billkuker/rocketry/motorsim/visual/RememberJFrame.java @@ -7,11 +7,11 @@ import java.util.prefs.Preferences; import javax.swing.JFrame; -public class RemeberJFrame extends JFrame { +public class RememberJFrame extends JFrame { private static final long serialVersionUID = 1L; - public RemeberJFrame(int width, int height){ + public RememberJFrame(int width, int height){ setSize(width, height); restore(); addComponentListener(new ComponentListener() { @@ -30,15 +30,19 @@ public class RemeberJFrame extends JFrame { }); } + protected String getPositionKey(){ + return this.getClass().getName(); + } + private void positionChanged(){ Rectangle r = getBounds(); Preferences prefs = Preferences.userNodeForPackage(this.getClass()); boolean max = (getExtendedState() & JFrame.MAXIMIZED_BOTH)!=0; if ( !max ){ - prefs.putInt("w", r.width); - prefs.putInt("h", r.height); - prefs.putInt("x", r.x); - prefs.putInt("y", r.y); + prefs.putInt(getPositionKey() + ".w", r.width); + prefs.putInt(getPositionKey() + ".h", r.height); + prefs.putInt(getPositionKey() + ".x", r.x); + prefs.putInt(getPositionKey() + ".y", r.y); } prefs.putInt("m", max?1:0); } @@ -46,10 +50,10 @@ public class RemeberJFrame extends JFrame { private void restore(){ Preferences prefs = Preferences.userNodeForPackage(this.getClass()); Rectangle r = new Rectangle( - prefs.getInt("x", 0), - prefs.getInt("y", 0), - prefs.getInt("w", getSize().width), - prefs.getInt("h", getSize().height) + prefs.getInt(getPositionKey() + ".x", 0), + prefs.getInt(getPositionKey() + ".y", 0), + prefs.getInt(getPositionKey() + ".w", getSize().width), + prefs.getInt(getPositionKey() + ".h", getSize().height) ); this.setSize(r.width, r.height); setLocation(r.x, r.y); @@ -59,8 +63,9 @@ public class RemeberJFrame extends JFrame { } + @SuppressWarnings("deprecation") public static void main(String[] args){ - RemeberJFrame f = new RemeberJFrame(300, 300); + RememberJFrame f = new RememberJFrame(300, 300); f.setDefaultCloseOperation(EXIT_ON_CLOSE); f.show(); } diff --git a/gui/com/billkuker/rocketry/motorsim/visual/workbench/MotorWorkbench.java b/gui/com/billkuker/rocketry/motorsim/visual/workbench/MotorWorkbench.java index c19afb6..098cf88 100644 --- a/gui/com/billkuker/rocketry/motorsim/visual/workbench/MotorWorkbench.java +++ b/gui/com/billkuker/rocketry/motorsim/visual/workbench/MotorWorkbench.java @@ -13,16 +13,17 @@ import javax.swing.WindowConstants; import com.billkuker.rocketry.motorsim.RocketScience.UnitPreference; import com.billkuker.rocketry.motorsim.fuel.FuelsEditor; +import com.billkuker.rocketry.motorsim.visual.RememberJFrame; -public class MotorWorkbench extends JFrame { +public class MotorWorkbench extends RememberJFrame { public static final String name = "MotorSim 2.0 BETA"; private static final long serialVersionUID = 1L; private MultiMotorThrustChart mb; private JFrame allBurns; - private JFrame fuelEditorFrame = new JFrame(){ + private JFrame fuelEditorFrame = new RememberJFrame(800,600){ private static final long serialVersionUID = 1L; { setSize(800, 600); @@ -39,8 +40,8 @@ public class MotorWorkbench extends JFrame { public MotorWorkbench() { + super(1024, 768); setTitle(name); - setSize(1024, 768); motorsEditor = new MotorsEditor(this); setContentPane(motorsEditor); diff --git a/gui/com/billkuker/rocketry/motorsim/visual/workbench/MotorsEditor.java b/gui/com/billkuker/rocketry/motorsim/visual/workbench/MotorsEditor.java index a2f214d..2ecb013 100644 --- a/gui/com/billkuker/rocketry/motorsim/visual/workbench/MotorsEditor.java +++ b/gui/com/billkuker/rocketry/motorsim/visual/workbench/MotorsEditor.java @@ -23,6 +23,7 @@ import com.billkuker.rocketry.motorsim.Motor; import com.billkuker.rocketry.motorsim.io.ENGExporter; import com.billkuker.rocketry.motorsim.io.MotorIO; import com.billkuker.rocketry.motorsim.visual.MultiObjectEditor; +import com.billkuker.rocketry.motorsim.visual.RememberJFrame; public class MotorsEditor extends MultiObjectEditor { private static final long serialVersionUID = 1L; @@ -54,8 +55,9 @@ public class MotorsEditor extends MultiObjectEditor { } }); - detached = new JFrame(); - detached.setSize(800, 600); + detached = new RememberJFrame(800,600){ + private static final long serialVersionUID = 1L; + }; detached.setTitle(MotorWorkbench.name + " - All Motors"); detached.setContentPane(detachedTabs = new JTabbedPane()); -- 2.47.2