|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.awt.Component
java.awt.Container
javax.swing.JComponent
edu.umd.cs.piccolo.PCanvas
public class PCanvas
PCanvas is a simple Swing component that can be used to embed Piccolo into a Java Swing application. Canvases view the Piccolo scene graph through a camera. The canvas manages screen updates coming from this camera, and forwards swing mouse and keyboard events to the camera.
Nested Class Summary |
---|
Nested classes/interfaces inherited from class javax.swing.JComponent |
---|
javax.swing.JComponent.AccessibleJComponent |
Nested classes/interfaces inherited from class java.awt.Container |
---|
java.awt.Container.AccessibleAWTContainer |
Nested classes/interfaces inherited from class java.awt.Component |
---|
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy |
Field Summary | |
---|---|
static PCanvas |
CURRENT_ZCANVAS
Deprecated. since it falsely assumes that there is only one PCanvas per program |
static java.lang.String |
INTERACTING_CHANGED_NOTIFICATION
Deprecated. in favor of PROPERTY_INTERACTING |
static java.lang.String |
INTERATING_CHANGED_NOTIFICATION
Deprecated. this is a typo and clients should change their code to reflect the correct spelling |
static java.lang.String |
PROPERTY_INTERACTING
The property name that identifies a change in the interacting state. |
Fields inherited from class javax.swing.JComponent |
---|
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW |
Fields inherited from class java.awt.Component |
---|
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT |
Fields inherited from interface java.awt.image.ImageObserver |
---|
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH |
Constructor Summary | |
---|---|
PCanvas()
Construct a canvas with the basic scene graph consisting of a root, camera, and layer. |
Method Summary | |
---|---|
void |
addInputEventListener(PInputEventListener listener)
Add an input listener to the camera associated with this canvas. |
protected PCamera |
createDefaultCamera()
Creates and returns a basic Scene Graph. |
javax.swing.Timer |
createTimer(int delay,
java.awt.event.ActionListener listener)
Helper for creating a timer. |
boolean |
getAnimating()
Return true if any activities that respond with true to the method isAnimating were run in the last PRoot.processInputs() loop. |
int |
getAnimatingRenderQuality()
Returns the quality to use when animating. |
PCamera |
getCamera()
Return the camera associated with this canvas. |
int |
getDefaultRenderQuality()
Deprecated. in favor or getNormalRenderQuality |
PInputEventListener[] |
getInputEventListeners()
Returns the input event listeners registered to receive input events. |
boolean |
getInteracting()
Return true if this canvas has been marked as interacting, or whether it's root is interacting. |
int |
getInteractingRenderQuality()
Returns the quality to use when interacting. |
PLayer |
getLayer()
Return layer for this canvas. |
int |
getNormalRenderQuality()
Returns the quality to use when not animating or interacting. |
PPanEventHandler |
getPanEventHandler()
Get the pan event handler associated with this canvas. |
PRoot |
getRoot()
Return root for this canvas. |
PZoomEventHandler |
getZoomEventHandler()
Get the zoom event handler associated with this canvas. |
protected void |
installInputSources()
This method installs mouse and key listeners on the canvas that forward those events to piccolo. |
void |
paintComponent(java.awt.Graphics g)
|
void |
paintImmediately()
If not painting immediately, send paint notification to RepaintManager, otherwise does nothing. |
void |
popCursor()
Pop the cursor on top of the cursorStack and set it as the canvas cursor. |
void |
printAll(java.awt.Graphics graphics)
Prints the entire scene regardless of what the viewable area is. |
void |
pushCursor(java.awt.Cursor cursor)
Set the canvas cursor, and remember the previous cursor on the cursor stack. |
void |
removeInputEventListener(PInputEventListener listener)
Remove an input listener to the camera associated with this canvas. |
protected void |
removeInputSources()
This method removes mouse and key listeners on the canvas that forward those events to piccolo. |
void |
repaint(PBounds bounds)
Called to notify PComponent that given bounds need repainting. |
protected void |
sendInputEventToInputManager(java.awt.event.InputEvent event,
int type)
Sends the given input event with the given type to the current InputManager. |
void |
setAnimatingRenderQuality(int animatingRenderQuality)
Set the render quality that should be used when rendering this canvas when it is animating. |
void |
setBounds(int x,
int y,
int width,
int height)
Updates the bounds of the component and updates the camera accordingly. |
void |
setCamera(PCamera newCamera)
Set the camera associated with this canvas. |
void |
setDefaultRenderQuality(int defaultRenderQuality)
Set the render quality that should be used when rendering this canvas when it is not interacting or animating. |
void |
setEnabled(boolean enabled)
Override setEnabled to install/remove canvas input sources as needed. |
void |
setInteracting(boolean isInteracting)
Set if this canvas is interacting. |
void |
setInteractingRenderQuality(int interactingRenderQuality)
Set the render quality that should be used when rendering this canvas when it is interacting. |
void |
setPanEventHandler(PPanEventHandler handler)
Set the pan event handler associated with this canvas. |
void |
setZoomEventHandler(PZoomEventHandler handler)
Set the zoom event handler associated with this canvas. |
Methods inherited from class javax.swing.JComponent |
---|
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, paramString, print, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update, updateUI |
Methods inherited from class java.awt.Container |
---|
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree |
Methods inherited from class java.awt.Component |
---|
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final java.lang.String INTERATING_CHANGED_NOTIFICATION
public static final java.lang.String INTERACTING_CHANGED_NOTIFICATION
public static final java.lang.String PROPERTY_INTERACTING
public static PCanvas CURRENT_ZCANVAS
Constructor Detail |
---|
public PCanvas()
Method Detail |
---|
protected PCamera createDefaultCamera()
public PPanEventHandler getPanEventHandler()
public void setPanEventHandler(PPanEventHandler handler)
handler
- the new zoom event handlerpublic PZoomEventHandler getZoomEventHandler()
public void setZoomEventHandler(PZoomEventHandler handler)
handler
- the new zoom event handlerpublic PCamera getCamera()
public void setCamera(PCamera newCamera)
newCamera
- the camera which this PCanvas should view the scenepublic PRoot getRoot()
public PLayer getLayer()
public void addInputEventListener(PInputEventListener listener)
listener
- listener to register for event notificationspublic void removeInputEventListener(PInputEventListener listener)
listener
- listener to unregister from event notificationspublic boolean getInteracting()
public boolean getAnimating()
public void setInteracting(boolean isInteracting)
setInteracting
in interface PComponent
isInteracting
- whether the PCanvas should be considered interactingpublic void setDefaultRenderQuality(int defaultRenderQuality)
defaultRenderQuality
- supports PPaintContext.HIGH_QUALITY_RENDERING
or PPaintContext.LOW_QUALITY_RENDERINGpublic void setAnimatingRenderQuality(int animatingRenderQuality)
animatingRenderQuality
- supports
PPaintContext.HIGH_QUALITY_RENDERING or
PPaintContext.LOW_QUALITY_RENDERINGpublic void setInteractingRenderQuality(int interactingRenderQuality)
interactingRenderQuality
- supports
PPaintContext.HIGH_QUALITY_RENDERING or
PPaintContext.LOW_QUALITY_RENDERINGpublic void pushCursor(java.awt.Cursor cursor)
pushCursor
in interface PComponent
cursor
- the cursor to push onto the cursor stackpublic void popCursor()
popCursor
in interface PComponent
public void setEnabled(boolean enabled)
setEnabled
in class javax.swing.JComponent
enabled
- new enable status of the Pcanvasprotected void installInputSources()
protected void removeInputSources()
protected void sendInputEventToInputManager(java.awt.event.InputEvent event, int type)
event
- event to dispatchtype
- type of event being dispatchedpublic void setBounds(int x, int y, int width, int height)
setBounds
in class java.awt.Component
x
- left of boundsy
- top of boundswidth
- width of boundsheight
- height of boundspublic void repaint(PBounds bounds)
repaint
in interface PComponent
bounds
- bounds needing repaintpublic void paintComponent(java.awt.Graphics g)
paintComponent
in class javax.swing.JComponent
public void paintImmediately()
paintImmediately
in interface PComponent
public javax.swing.Timer createTimer(int delay, java.awt.event.ActionListener listener)
delay
- the number of milliseconds to wait before invoking the
listenerlistener
- the listener to invoke after the delay
public int getDefaultRenderQuality()
public int getNormalRenderQuality()
public int getAnimatingRenderQuality()
public int getInteractingRenderQuality()
public PInputEventListener[] getInputEventListeners()
public void printAll(java.awt.Graphics graphics)
printAll
in class javax.swing.JComponent
graphics
- Graphics context onto which to paint the scene for printing
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |