Jazz API Documentation

edu.umd.cs.jazz.component
Class ZImage

java.lang.Object
  |
  +--edu.umd.cs.jazz.ZSceneGraphObject
        |
        +--edu.umd.cs.jazz.ZVisualComponent
              |
              +--edu.umd.cs.jazz.component.ZImage
All Implemented Interfaces:
java.io.Serializable, ZSerializable

public class ZImage
extends ZVisualComponent
implements java.io.Serializable

ZImage is a graphic object that represents a raster image

See Also:
Serialized Form

Field Summary
protected  java.lang.String fileName
           
protected  int height
           
protected  java.awt.Image image
           
protected  edu.umd.cs.jazz.component.ZImageObserver observer
           
protected static java.awt.Component staticComponent
           
protected  java.net.URL url
           
protected  int width
           
protected  boolean writeEmbeddedImage
           
static boolean writeEmbeddedImage_DEFAULT
           
 
Fields inherited from class edu.umd.cs.jazz.ZSceneGraphObject
bounds, objRefTable, volatileBounds_DEFAULT
 
Constructor Summary
ZImage()
          Constructs a new Image.
ZImage(byte[] bytes)
           
ZImage(java.awt.Image i)
           
ZImage(java.lang.String aFileName)
           
ZImage(java.net.URL aUrl)
           
 
Method Summary
 java.lang.Object clone()
          Duplicates the current object by using the copy constructor.
protected  void computeBounds()
          Notifies this object that it has changed and that it should update its notion of its bounding box.
 java.lang.String dump()
          Generate a string that represents this object for debugging.
 void duplicateObject(ZImage refImage)
          Copies all object information from the reference object into the current object.
 java.lang.String getAbsolutePath(java.lang.String path)
          Given a directory path plus some path relative to it, return a direct absolute path.
 java.lang.String getFileName()
          Return the filename associated with this image object.
 int getHeight()
          Return height of image.
 java.awt.Image getImage()
          Return the AWT image associated with this image object.
 java.lang.String getRelativePath(java.lang.String fileName, java.lang.String basePath)
          Returns the directory path of a file name, relative to another absolute path basePath.
 java.net.URL getUrl()
          Return the URL associated with this image object.
 int getWidth()
          Return width of image.
 boolean getWriteEmbeddedImage()
          Determine if this image gets saved by writing the binary image into the file.
 boolean isLoaded()
           
protected  void loadImage(java.awt.Image im)
           
static java.awt.image.BufferedImage makeBufferedImage(java.awt.Image image)
          Creates a BufferedImage from an Image.
 void render(ZRenderContext renderContext)
          Paints this object.
 void setFileName(java.lang.String aFileName)
          Sets the filename of the image.
 boolean setImage(byte[] bytes)
           
 boolean setImage(java.awt.Image i)
           
 boolean setImage(java.lang.String aFileName)
          loads an image
 boolean setImage(java.net.URL aUrl)
           
protected  void setLoaded(boolean l)
          Called when the image has been loaded.
 void setState(java.lang.String fieldType, java.lang.String fieldName, java.lang.Object fieldValue)
          Set some state of this object as it gets read back in.
 void setUrl(java.net.URL aUrl)
          Sets the URL of the image.
 void setWriteEmbeddedImage(boolean value)
          Specify if this image gets saved by writing the binary image into the file, or if it instead writes the filename of the image, and thus requires that the external image file exists in the same place to reload.
static boolean waitForImage(java.awt.Image image)
          Wait while image is loaded.
 void writeObject(ZObjectOutputStream out)
          Write out all of this object's state.
 
Methods inherited from class edu.umd.cs.jazz.ZVisualComponent
boundsUpdated, duplicateObject, getParents, paint, pick, pickBounds, repaint, repaint, trimToSize, updateBounds, updateVolatility, writeObjectRecurse
 
Methods inherited from class edu.umd.cs.jazz.ZSceneGraphObject
duplicateObject, getBounds, getVolatileBounds, reshape, setVolatileBounds, updateObjectReferences
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

writeEmbeddedImage_DEFAULT

public static final boolean writeEmbeddedImage_DEFAULT

staticComponent

protected static final java.awt.Component staticComponent

width

protected int width

height

protected int height

image

protected transient java.awt.Image image

observer

protected edu.umd.cs.jazz.component.ZImageObserver observer

writeEmbeddedImage

protected boolean writeEmbeddedImage

fileName

protected transient java.lang.String fileName

url

protected java.net.URL url
Constructor Detail

ZImage

public ZImage()
Constructs a new Image.

ZImage

public ZImage(java.awt.Image i)

ZImage

public ZImage(java.lang.String aFileName)

ZImage

public ZImage(java.net.URL aUrl)

ZImage

public ZImage(byte[] bytes)
Method Detail

duplicateObject

public void duplicateObject(ZImage refImage)
Copies all object information from the reference object into the current object. This method is called from the clone method. All ZSceneGraphObjects objects contained by the object being duplicated are duplicated, except parents which are set to null. This results in the sub-tree rooted at this object being duplicated.
Parameters:
refImage - The reference visual component to copy

clone

public java.lang.Object clone()
Duplicates the current object by using the copy constructor. The portion of the reference object that is duplicated is that necessary to reuse the object in a new place within the scenegraph, but the new object is not inserted into any scenegraph. The object must be attached to a live scenegraph (a scenegraph that is currently visible) or be registered with a camera directly in order for it to be visible.
Overrides:
clone in class ZVisualComponent
Returns:
A copy of this visual component.
See Also:
ZSceneGraphObject.updateObjectReferences(edu.umd.cs.jazz.util.ZObjectReferenceTable)

getAbsolutePath

public java.lang.String getAbsolutePath(java.lang.String path)
Given a directory path plus some path relative to it, return a direct absolute path. eg "/a/b/c/" + "../../e/f/g.ext" yields: /a/e/f/g.ext

getRelativePath

public java.lang.String getRelativePath(java.lang.String fileName,
                                        java.lang.String basePath)
Returns the directory path of a file name, relative to another absolute path basePath.
Parameters:
fileName - absolute path of a file.
baseName - absolute base path.

setImage

public boolean setImage(java.awt.Image i)

setImage

public boolean setImage(byte[] bytes)

setImage

public boolean setImage(java.lang.String aFileName)
loads an image
Parameters:
aFileName - the file name of the image.

setImage

public boolean setImage(java.net.URL aUrl)

loadImage

protected void loadImage(java.awt.Image im)

getImage

public java.awt.Image getImage()
Return the AWT image associated with this image object.
Returns:
the AWT image.

setFileName

public void setFileName(java.lang.String aFileName)
Sets the filename of the image. This does not change the image, but rather just stores the filename for future access.
Parameters:
aFileName - the file name.

getFileName

public java.lang.String getFileName()
Return the filename associated with this image object.
Returns:
the filename.

setUrl

public void setUrl(java.net.URL aUrl)
Sets the URL of the image. This does not change the image, but rather just stores the URL for future access.
Parameters:
aURL - the file name.

getUrl

public java.net.URL getUrl()
Return the URL associated with this image object.
Returns:
the URL.

setWriteEmbeddedImage

public void setWriteEmbeddedImage(boolean value)
Specify if this image gets saved by writing the binary image into the file, or if it instead writes the filename of the image, and thus requires that the external image file exists in the same place to reload.
Parameters:
value - true to embed image in file, and false to store a link

getWriteEmbeddedImage

public boolean getWriteEmbeddedImage()
Determine if this image gets saved by writing the binary image into the file. Return false if it stores the name of the file that contains the image.
Returns:
true to embed image in file

computeBounds

protected void computeBounds()
Notifies this object that it has changed and that it should update its notion of its bounding box. Note that this should not be called directly. Instead, it is called by updateBounds when needed.
Overrides:
computeBounds in class ZSceneGraphObject

render

public void render(ZRenderContext renderContext)
Paints this object.

The transform, clip, and composite will be set appropriately when this object is rendered. It is up to this object to restore the transform, clip, and composite of the Graphics2D if this node changes any of them. However, the color, font, and stroke are unspecified by Jazz. This object should set those things if they are used, but they do not need to be restored.

Overrides:
render in class ZVisualComponent
Parameters:
renderContext - The graphics context to paint into.

getWidth

public int getWidth()
Return width of image. If the width is not yet available, this will return -1, and the observer will be notified of the dimensions later.
Returns:
width.

getHeight

public int getHeight()
Return height of image. If the height is not yet available, this will return -1, and the observer will be notified of the dimensions later.
Returns:
height.

isLoaded

public boolean isLoaded()

setLoaded

protected void setLoaded(boolean l)
Called when the image has been loaded.

dump

public java.lang.String dump()
Generate a string that represents this object for debugging.
Overrides:
dump in class ZSceneGraphObject
Returns:
the string that represents this object for debugging
See Also:
ZDebug.dump(edu.umd.cs.jazz.ZNode)

writeObject

public void writeObject(ZObjectOutputStream out)
                 throws java.io.IOException
Write out all of this object's state.
Overrides:
writeObject in class ZVisualComponent
Parameters:
out - The stream that this object writes into

setState

public void setState(java.lang.String fieldType,
                     java.lang.String fieldName,
                     java.lang.Object fieldValue)
Set some state of this object as it gets read back in. After the object is created with its default no-arg constructor, this method will be called on the object once for each bit of state that was written out through calls to ZObjectOutputStream.writeState() within the writeObject method.
Overrides:
setState in class ZVisualComponent
Parameters:
fieldType - The fully qualified type of the field
fieldName - The name of the field
fieldValue - The value of the field

waitForImage

public static boolean waitForImage(java.awt.Image image)
Wait while image is loaded.
Parameters:
image - The image.

makeBufferedImage

public static java.awt.image.BufferedImage makeBufferedImage(java.awt.Image image)
Creates a BufferedImage from an Image.
Parameters:
image - The image.

Jazz API Documentation