edu.umd.cs.piccolo.nodes
Class PImage

java.lang.Object
  extended by edu.umd.cs.piccolo.PNode
      extended by edu.umd.cs.piccolo.nodes.PImage
All Implemented Interfaces:
Printable, Serializable, Cloneable

public class PImage
extends PNode

PImage is a wrapper around a java.awt.Image. If this node is copied or serialized that image will be converted into a BufferedImage if it is not already one.

Version:
1.0
Author:
Jesse Grosjean
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class edu.umd.cs.piccolo.PNode
PNode.PSceneGraphDelegate
 
Field Summary
static int PROPERTY_CODE_IMAGE
          The property code that identifies a change of this node's image (see getImage).
static String PROPERTY_IMAGE
          The property name that identifies a change of this node's image (see getImage).
 
Fields inherited from class edu.umd.cs.piccolo.PNode
FILL_STRATEGY_ASPECT_COVER, FILL_STRATEGY_ASPECT_FIT, FILL_STRATEGY_EXACT_FIT, PROPERTY_BOUNDS, PROPERTY_CHILDREN, PROPERTY_CHILDREN_PICKABLE, PROPERTY_CLIENT_PROPERTIES, PROPERTY_CODE_BOUNDS, PROPERTY_CODE_CHILDREN, PROPERTY_CODE_CHILDREN_PICKABLE, PROPERTY_CODE_CLIENT_PROPERTIES, PROPERTY_CODE_FULL_BOUNDS, PROPERTY_CODE_PAINT, PROPERTY_CODE_PARENT, PROPERTY_CODE_PICKABLE, PROPERTY_CODE_TRANSFORM, PROPERTY_CODE_TRANSPARENCY, PROPERTY_CODE_VISIBLE, PROPERTY_FULL_BOUNDS, PROPERTY_PAINT, PROPERTY_PARENT, PROPERTY_PICKABLE, PROPERTY_TRANSFORM, PROPERTY_TRANSPARENCY, PROPERTY_VISIBLE, SCENE_GRAPH_DELEGATE
 
Fields inherited from interface java.awt.print.Printable
NO_SUCH_PAGE, PAGE_EXISTS
 
Constructor Summary
PImage()
          Constructs a PImage without a java.awt.Image attached.
PImage(Image image)
          Construct a new PImage wrapping the given java.awt.Image.
PImage(String fileName)
          Construct a new PImage by loading the given fileName and wrapping the resulting java.awt.Image.
PImage(URL url)
          Construct a new PImage by loading the given url and wrapping the resulting java.awt.Image.
 
Method Summary
 Image getImage()
          Returns the image that is shown by this node, or null if none.
protected  void paint(PPaintContext paintContext)
          Renders the wrapped Image, stretching it appropriately if the bounds of this PImage doesn't match the bounds of the image.
 void setImage(Image newImage)
          Set the image that is wrapped by this PImage node.
 void setImage(String fileName)
          Set the image that is wrapped by this PImage node.
static BufferedImage toBufferedImage(Image image, boolean alwaysCreateCopy)
          Converts the provided image into a BufferedImage.
 
Methods inherited from class edu.umd.cs.piccolo.PNode
addActivity, addAttribute, addChild, addChild, addChildren, addClientProperty, addInputEventListener, addPropertyChangeListener, addPropertyChangeListener, animateToBounds, animateToColor, animateToPositionScaleRotation, animateToRelativePosition, animateToTransform, animateToTransparency, animateTransformToBounds, centerBoundsOnPoint, centerFullBoundsOnPoint, clone, computeFullBounds, endResizeBounds, findIntersectingNodes, fireChildPropertyChange, firePropertyChange, fullIntersects, fullPaint, fullPick, getAllNodes, getAllNodes, getAttribute, getAttribute, getBooleanAttribute, getBounds, getBoundsChanged, getBoundsReference, getBoundsVolatile, getChild, getChildBoundsInvalid, getChildBoundsVolatile, getChildPaintInvalid, getChildrenCount, getChildrenIterator, getChildrenPickable, getChildrenReference, getClientProperties, getClientProperty, getClientPropertyKeysEnumeration, getClientPropertyKeysIterator, getDoubleAttribute, getFullBounds, getFullBoundsInvalid, getFullBoundsReference, getGlobalBounds, getGlobalFullBounds, getGlobalRotation, getGlobalScale, getGlobalToLocalTransform, getGlobalTranslation, getHeight, getInputEventListeners, getIntegerAttribute, getInverseTransform, getListenerList, getLocalToGlobalTransform, getName, getOccluded, getOffset, getPaint, getPaintInvalid, getParent, getPickable, getPropertyChangeParentMask, getRoot, getRotation, getScale, getTransform, getTransformReference, getTransparency, getUnionOfChildrenBounds, getVisible, getWidth, getX, getXOffset, getY, getYOffset, globalToLocal, globalToLocal, globalToLocal, indexOfChild, internalUpdateBounds, intersects, invalidateFullBounds, invalidateLayout, invalidatePaint, isAncestorOf, isDescendentOf, isDescendentOfRoot, isOpaque, layoutChildren, lerp, localToGlobal, localToGlobal, localToGlobal, localToParent, localToParent, localToParent, moveInBackOf, moveInFrontOf, moveToBack, moveToFront, offset, paintAfterChildren, paramString, parentBoundsChanged, parentToLocal, parentToLocal, parentToLocal, pick, pickAfterChildren, position, print, print, removeAllChildren, removeChild, removeChild, removeChildren, removeFromParent, removeInputEventListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaintFrom, reparent, replaceWith, resetBounds, rotate, rotateAboutPoint, rotateAboutPoint, rotateInPlace, scale, scaleAboutPoint, scaleAboutPoint, setBounds, setBounds, setBoundsChanged, setChildBoundsInvalid, setChildBoundsVolatile, setChildPaintInvalid, setChildrenPickable, setFullBoundsInvalid, setGlobalRotation, setGlobalScale, setGlobalTranslation, setHeight, setName, setOccluded, setOffset, setOffset, setPaint, setPaintInvalid, setParent, setPickable, setPropertyChangeParentMask, setRotation, setScale, setTransform, setTransparency, setVisible, setWidth, setX, setY, signalBoundsChanged, startResizeBounds, toImage, toImage, toImage, toImage, transformBy, translate, validateFullBounds, validateFullPaint
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PROPERTY_IMAGE

public static final String PROPERTY_IMAGE
The property name that identifies a change of this node's image (see getImage). Both old and new value will be set correctly to Image objects in any property change event.

See Also:
Constant Field Values

PROPERTY_CODE_IMAGE

public static final int PROPERTY_CODE_IMAGE
The property code that identifies a change of this node's image (see getImage). Both old and new value will be set correctly to Image objects in any property change event.

See Also:
Constant Field Values
Constructor Detail

PImage

public PImage()
Constructs a PImage without a java.awt.Image attached.


PImage

public PImage(String fileName)
Construct a new PImage by loading the given fileName and wrapping the resulting java.awt.Image.

Parameters:
fileName - of the image to wrap

PImage

public PImage(Image image)
Construct a new PImage wrapping the given java.awt.Image.

Parameters:
image - image that this PImage will wrap

PImage

public PImage(URL url)
Construct a new PImage by loading the given url and wrapping the resulting java.awt.Image. If the url is null, create an empty PImage; this behaviour is useful when fetching resources that may be missing.

Parameters:
url - URL of image resource to load
Method Detail

getImage

public Image getImage()
Returns the image that is shown by this node, or null if none.

Returns:
java.awt.Image being wrapped by this node

setImage

public void setImage(String fileName)
Set the image that is wrapped by this PImage node. This method will also load the image using a MediaTracker before returning.

Parameters:
fileName - file to be wrapped by this PImage

setImage

public void setImage(Image newImage)
Set the image that is wrapped by this PImage node. This method will also load the image using a MediaTracker before returning.

Parameters:
newImage - image to be displayed by this PImage

paint

protected void paint(PPaintContext paintContext)
Renders the wrapped Image, stretching it appropriately if the bounds of this PImage doesn't match the bounds of the image.

Overrides:
paint in class PNode
Parameters:
paintContext - context into which the rendering will occur

toBufferedImage

public static BufferedImage toBufferedImage(Image image,
                                            boolean alwaysCreateCopy)
Converts the provided image into a BufferedImage. If alwaysCreateCopy is false then if the image is already a buffered image it will not be copied and instead the original image will just be returned.

Parameters:
image - the image to be converted
alwaysCreateCopy - if true, will create a copy even if image is already a BufferedImage
Returns:
a BufferedImage equivalent to the Image provided


Copyright © 1995-2011 Piccolo2D. All Rights Reserved.