diff --git a/OpticalSignalingCommsToolbox/src/main/java/edu/nps/moves/qrtda/elements/gui/ImageProjectorPanel.java b/OpticalSignalingCommsToolbox/src/main/java/edu/nps/moves/qrtda/elements/gui/ImageProjectorPanel.java index 2ba649471a4fd314320ee96b4660e72e4cbb8a98..ad0f587c188cd522fe8a22e6193e1112a96b5e2f 100644 --- a/OpticalSignalingCommsToolbox/src/main/java/edu/nps/moves/qrtda/elements/gui/ImageProjectorPanel.java +++ b/OpticalSignalingCommsToolbox/src/main/java/edu/nps/moves/qrtda/elements/gui/ImageProjectorPanel.java @@ -23,6 +23,7 @@ package edu.nps.moves.qrtda.elements.gui; import edu.nps.moves.misc.StretchIcon; +import edu.nps.moves.qrtda.QRPreferences; import edu.nps.moves.qrtda.TdaEnvironment; import edu.nps.moves.qrtda.elements.misc.NameDefault; import edu.nps.moves.qrtda.elements.misc.QrtdaParameter; @@ -159,6 +160,10 @@ public class ImageProjectorPanel extends JPanel public class ImageProjectorWin extends JFrame { private static final long serialVersionUID = 1L; + public final static String IMAGEPROJECTOR_WIN_X_PREF = "ImageProjector_Win_X"; + public final static String IMAGEPROJECTOR_WIN_Y_PREF = "ImageProjector_Win_Y"; + public final static String IMAGEPROJECTOR_WIN_W_PREF = "ImageProjector_Win_W"; + public final static String IMAGEPROJECTOR_WIN_H_PREF = "ImageProjector_Win_H"; BufferedImage img; JLabel imgLab; @@ -169,15 +174,23 @@ public class ImageProjectorPanel extends JPanel super.setTitle("Image Projector"); JFrame.setDefaultLookAndFeelDecorated(false); this.full = full; - Rectangle bounds = conf.getBounds(); - super.setLocation(bounds.x, bounds.y); + + QRPreferences prefs = QRPreferences.getInstance(); + + //Rectangle bounds = conf.getBounds(); + // super.setLocation(bounds.x, bounds.y); + super.setLocation(Integer.parseInt(prefs.get(IMAGEPROJECTOR_WIN_X_PREF, "0")), + Integer.parseInt(prefs.get(IMAGEPROJECTOR_WIN_Y_PREF, "0"))); + super.getContentPane().setBackground(Color.black); if (full) { super.setUndecorated(true); super.setExtendedState(JFrame.MAXIMIZED_BOTH); } else - super.setSize(600, 600); + //super.setSize(600, 600); + super.setSize(Integer.parseInt(prefs.get(IMAGEPROJECTOR_WIN_W_PREF, "600")), + Integer.parseInt(prefs.get(IMAGEPROJECTOR_WIN_H_PREF, "600"))); super.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE); super.addWindowListener(new WindowAdapter() @@ -189,12 +202,25 @@ public class ImageProjectorPanel extends JPanel closeButt.setEnabled(false); } }); - // Want to adjust image on frame resize + // Want to adjust image on frame resize and save position and size super.addComponentListener(new ComponentAdapter() { + @Override + public void componentMoved(ComponentEvent e) + { + QRPreferences prefs = QRPreferences.getInstance(); + Rectangle rect = ImageProjectorWin.this.getBounds(); + prefs.put(IMAGEPROJECTOR_WIN_X_PREF, ""+rect.x); + prefs.put(IMAGEPROJECTOR_WIN_Y_PREF, ""+rect.y); + } @Override public void componentResized(ComponentEvent e) { + QRPreferences prefs = QRPreferences.getInstance(); + Dimension dim = ImageProjectorWin.this.getSize(); + prefs.put(IMAGEPROJECTOR_WIN_W_PREF, ""+dim.width); + prefs.put(IMAGEPROJECTOR_WIN_H_PREF, ""+dim.height); + if (img != null) setImage(img); }