edu.umd.cs.jazz.component
Class ZRectangle

java.lang.Object
  |
  +--edu.umd.cs.jazz.ZSceneGraphObject
        |
        +--edu.umd.cs.jazz.ZVisualComponent
              |
              +--edu.umd.cs.jazz.component.ZBasicVisualComponent
                    |
                    +--edu.umd.cs.jazz.component.ZShape
                          |
                          +--edu.umd.cs.jazz.component.ZRectangle
All Implemented Interfaces:
java.lang.Cloneable, java.io.Serializable, ZAppearance, ZFillColor, ZFillPaint, ZPenColor, ZPenPaint, ZSerializable, ZStroke

public class ZRectangle
extends ZShape

ZRectangle is a graphic object that represents a hard-cornered rectangle.

Warning: Serialized and ZSerialized objects of this class will not be compatible with future Jazz releases. The current serialization support is appropriate for short term storage or RMI between applications running the same version of Jazz. A future release of Jazz will provide support for long term persistence.

Author:
Benjamin B. Bederson
, Jesse Grosjean
See Also:
Serialized Form

Field Summary
static java.awt.Stroke DEFAULT_RECT_STROKE
          Default stroke for rectangles.
protected  java.awt.geom.Rectangle2D rectangle
           
 
Fields inherited from class edu.umd.cs.jazz.component.ZBasicVisualComponent
absPenWidth, DEFAULT_ABS_PEN_WIDTH, DEFAULT_FILL_PAINT, DEFAULT_PEN_PAINT, DEFAULT_PEN_WIDTH, DEFAULT_STROKE, fillPaint, penPaint, penWidth, stroke
 
Fields inherited from class edu.umd.cs.jazz.ZSceneGraphObject
bounds, inTransaction, invalidBounds, invalidVolatileBounds, listenerList, volatileBounds, volatileBounds_DEFAULT
 
Constructor Summary
ZRectangle()
          Constructs a new Rectangle.
ZRectangle(double x, double y)
          Constructs a new Rectangle at the specified location, with dimensions of zero.
ZRectangle(double x, double y, double width, double height)
          Constructs a new Rectangle at the specified location, with the given dimensions.
ZRectangle(java.awt.geom.Rectangle2D r)
          Constructs a new Rectangle based on the geometry of the one passed in.
 
Method Summary
protected  java.lang.Object duplicateObject()
          Returns a clone of this object.
 java.util.Collection getHandles()
          Return the collection of handles associated with this object.
 java.awt.geom.Rectangle2D getRect()
          Return the rectangle.
 java.awt.Shape getShape()
          Return the shape.
 void setPenWidth(double width)
          Set the width of the pen used to draw the visual component.
 void setRect(double x, double y, double width, double height)
          Sets location and size of the rectangle.
 void setRect(java.awt.geom.Rectangle2D r)
          Sets coordinates of rectangle.
 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 writeObject(ZObjectOutputStream out)
          Write out all of this object's state.
 
Methods inherited from class edu.umd.cs.jazz.component.ZShape
computeBounds, getFrame, getHeight, getStrokeTransformForAbsPenWidth, getWidth, getX, getY, pick, pickStroke, render
 
Methods inherited from class edu.umd.cs.jazz.component.ZBasicVisualComponent
getAbsPenWidth, getFillColor, getFillPaint, getPenColor, getPenPaint, getPenWidth, getPenWidthForCurrentContext, getStroke, setAbsPenWidth, setFillColor, setFillPaint, setPenColor, setPenPaint, setStroke
 
Methods inherited from class edu.umd.cs.jazz.ZVisualComponent
addParent, getNumParents, getParents, getParentsReference, getRoot, paint, pickBounds, removeParent, repaint, repaint, trimToSize, updateBounds, updateObjectReferences, updateVolatility, writeObjectRecurse
 
Methods inherited from class edu.umd.cs.jazz.ZSceneGraphObject
addClientProperty, addMouseListener, addMouseMotionListener, clone, computeVolatileBounds, dump, endTransaction, fireEvent, fireMouseEvent, getBounds, getBoundsReference, getClientProperty, getListenerList, getVolatileBounds, hasLisenerOfType, hasListenerOfType, hasMouseListener, markInTransaction, markNotInTransaction, processMouseEvent, putClientProperty, removeEventListener, removeMouseListener, removeMouseMotionListener, reshape, setBounds, setVolatileBounds, startTransaction
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_RECT_STROKE

public static final java.awt.Stroke DEFAULT_RECT_STROKE
Default stroke for rectangles.


rectangle

protected transient java.awt.geom.Rectangle2D rectangle
Constructor Detail

ZRectangle

public ZRectangle()
Constructs a new Rectangle.


ZRectangle

public ZRectangle(double x,
                  double y)
Constructs a new Rectangle at the specified location, with dimensions of zero.


ZRectangle

public ZRectangle(double x,
                  double y,
                  double width,
                  double height)
Constructs a new Rectangle at the specified location, with the given dimensions.


ZRectangle

public ZRectangle(java.awt.geom.Rectangle2D r)
Constructs a new Rectangle based on the geometry of the one passed in.

Method Detail

duplicateObject

protected java.lang.Object duplicateObject()
Returns a clone of this object.

Overrides:
duplicateObject in class ZBasicVisualComponent
See Also:
ZSceneGraphObject.duplicateObject()

getHandles

public java.util.Collection getHandles()
Description copied from class: ZSceneGraphObject
Return the collection of handles associated with this object.

Overrides:
getHandles in class ZSceneGraphObject

getRect

public java.awt.geom.Rectangle2D getRect()
Return the rectangle.

Returns:
rectangle.

getShape

public java.awt.Shape getShape()
Return the shape.

Specified by:
getShape in class ZShape
Returns:
Shape.

setRect

public void setRect(double x,
                    double y,
                    double width,
                    double height)
Sets location and size of the rectangle.


setRect

public void setRect(java.awt.geom.Rectangle2D r)
Sets coordinates of rectangle.


setPenWidth

public void setPenWidth(double width)
Set the width of the pen used to draw the visual component. If the pen width is set here, then the stroke is set to solid (un-dashed), with a "butt" cap style, and a "bevel" join style. The pen width will be dependent on the camera magnification.

Specified by:
setPenWidth in interface ZStroke
Overrides:
setPenWidth in class ZBasicVisualComponent
Parameters:
width - the pen width.
See Also:
ZBasicVisualComponent.setAbsPenWidth(double)

writeObject

public void writeObject(ZObjectOutputStream out)
                 throws java.io.IOException
Write out all of this object's state.

Specified by:
writeObject in interface ZSerializable
Overrides:
writeObject in class ZBasicVisualComponent
Parameters:
out - The stream that this object writes into
java.io.IOException

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.

Specified by:
setState in interface ZSerializable
Overrides:
setState in class ZBasicVisualComponent
Parameters:
fieldType - The fully qualified type of the field
fieldName - The name of the field
fieldValue - The value of the field


Copyright 2003 by University of Maryland, College Park, MD 20742, USA All rights reserved.