From 86e07e60b8b20c7954b24b87eb456c47f82ebc2a Mon Sep 17 00:00:00 2001 From: bancika Date: Mon, 3 Jan 2011 13:48:04 +0000 Subject: [PATCH] painting issue fix --- .../src/com/diyfever/diylc/DIYLCStarter.java | 2 +- .../src/com/diyfever/diylc/gui/MainFrame.java | 24 +++++++++++++++---- .../diylc/plugins/canvas/CanvasPlugin.java | 4 +++- 3 files changed, 24 insertions(+), 6 deletions(-) diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/com/diyfever/diylc/DIYLCStarter.java b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/com/diyfever/diylc/DIYLCStarter.java index bb452b64..c3ed447a 100644 --- a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/com/diyfever/diylc/DIYLCStarter.java +++ b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/com/diyfever/diylc/DIYLCStarter.java @@ -29,7 +29,7 @@ public class DIYLCStarter { } catch (IOException e) { e.printStackTrace(); } - + url = DIYLCStarter.class.getResource("config.properties"); properties = new Properties(); try { diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/com/diyfever/diylc/gui/MainFrame.java b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/com/diyfever/diylc/gui/MainFrame.java index 251535c3..a20a34e4 100644 --- a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/com/diyfever/diylc/gui/MainFrame.java +++ b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/com/diyfever/diylc/gui/MainFrame.java @@ -17,6 +17,7 @@ import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JPanel; import javax.swing.SwingConstants; +import javax.swing.SwingUtilities; import com.diyfever.diylc.common.BadPositionException; import com.diyfever.diylc.model.Project; @@ -44,6 +45,8 @@ public class MainFrame extends JFrame implements IView { private JMenuBar mainMenuBar; private Map menuMap; + private CanvasPlugin canvasPlugin; + public MainFrame() { super("DIYLC4"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); @@ -63,7 +66,7 @@ public class MainFrame extends JFrame implements IView { presenter.installPlugin(new HelpManager()); presenter.installPlugin(new StatusBar()); - CanvasPlugin canvasPlugin = new CanvasPlugin(); + canvasPlugin = new CanvasPlugin(); presenter.installPlugin(canvasPlugin); Project project = new Project(); @@ -82,13 +85,26 @@ public class MainFrame extends JFrame implements IView { presenter.dispose(); } }); - // TODO: hack to fix painting issues with rulers in the scroll pane. - // Find a better solution if possible. - canvasPlugin.refresh(); + // setGlassPane(new CustomGlassPane()); // getGlassPane().setVisible(true); } + @Override + public void setVisible(boolean b) { + super.setVisible(b); + // TODO: hack to prevent painting issues in the scroll bar rulers. Find + // a better fix if possible. + if (b) { + SwingUtilities.invokeLater(new Runnable() { + @Override + public void run() { + canvasPlugin.refresh(); + } + }); + } + } + private void createBasePanels() { Container c = new Container(); c.setLayout(new BorderLayout()); diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/com/diyfever/diylc/plugins/canvas/CanvasPlugin.java b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/com/diyfever/diylc/plugins/canvas/CanvasPlugin.java index cc334421..6ec174a7 100644 --- a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/com/diyfever/diylc/plugins/canvas/CanvasPlugin.java +++ b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/com/diyfever/diylc/plugins/canvas/CanvasPlugin.java @@ -113,7 +113,9 @@ public class CanvasPlugin implements IPlugIn { */ public void refresh() { MouseEvent event = new MouseEvent(canvasPanel, MouseEvent.MOUSE_MOVED, System - .currentTimeMillis(), 0, 0, 0, 0, false); + .currentTimeMillis(), 0, 1, 1,// canvasPanel.getWidth() / 2, + // canvasPanel.getHeight() / 2, + 0, false); canvasPanel.dispatchEvent(event); } }