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
-~----------~----~----~----~------~----~------~--~---