Author: heuermh Date: Tue Oct 7 14:06:41 2008 New Revision: 398 Modified: piccolo2d.java/trunk/extras/src/main/java/edu/umd/cs/piccolox/pswing/PSwingCanvas.java
Log: Issue 25 ; use the current PSwing repaint manager if one has been set, or create a new one if it is not of the right type Modified: piccolo2d.java/trunk/extras/src/main/java/edu/umd/cs/piccolox/pswing/PSwingCanvas.java ============================================================================== --- piccolo2d.java/trunk/extras/src/main/java/edu/umd/cs/piccolox/pswing/PSwingCanvas.java (original) +++ piccolo2d.java/trunk/extras/src/main/java/edu/umd/cs/piccolox/pswing/PSwingCanvas.java Tue Oct 7 14:06:41 2008 @@ -44,10 +44,7 @@ public class PSwingCanvas extends PCanvas { public static final String SWING_WRAPPER_KEY = "Swing Wrapper"; - private static PSwingRepaintManager pSwingRepaintManager = new PSwingRepaintManager(); - private SwingWrapper swingWrapper; - private PSwingEventHandler swingEventHandler; /** * Construct a new PSwingCanvas. @@ -55,12 +52,21 @@ public PSwingCanvas() { swingWrapper = new SwingWrapper(this); add(swingWrapper); - RepaintManager.setCurrentManager(pSwingRepaintManager); - pSwingRepaintManager.addPSwingCanvas(this); + initRepaintManager(); + new PSwingEventHandler(this, getCamera()).setActive(true); + } - // todo or maybe getCameraLayer() or getRoot()? - swingEventHandler = new PSwingEventHandler(this, getCamera()); - swingEventHandler.setActive(true); + private void initRepaintManager() { + RepaintManager repaintManager = RepaintManager.currentManager(this); + PSwingRepaintManager pSwingRepaintManager; + if (repaintManager instanceof PSwingRepaintManager) { + pSwingRepaintManager = (PSwingRepaintManager) repaintManager; + } + else { + pSwingRepaintManager = new PSwingRepaintManager(); + RepaintManager.setCurrentManager(pSwingRepaintManager); + } + pSwingRepaintManager.addPSwingCanvas(this); } JComponent getSwingWrapper() { --~--~---------~--~----~------------~-------~--~----~ Piccolo2D Developers Group: http://groups.google.com/group/piccolo2d-dev?hl=en -~----------~----~----~----~------~----~------~--~---