JHotDraw 7.4.1

org.jhotdraw.samples.mini
Class StraightLineFigure

java.lang.Object
  extended by org.jhotdraw.beans.AbstractBean
      extended by org.jhotdraw.draw.AbstractFigure
          extended by org.jhotdraw.draw.AbstractAttributedFigure
              extended by org.jhotdraw.samples.mini.StraightLineFigure
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, Figure, DOMStorable

public class StraightLineFigure
extends AbstractAttributedFigure

Example showing the minimal amount of code needed to implement a Figure by extending AbstractAttributedFigure.

Version:
$Id: StraightLineFigure.java 604 2010-01-09 12:00:29Z rawcoder $
Author:
Werner Randelshofer
See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.jhotdraw.draw.AbstractFigure
changingDepth, listenerList
 
Fields inherited from class org.jhotdraw.beans.AbstractBean
propertySupport
 
Fields inherited from interface org.jhotdraw.draw.Figure
CONNECTABLE_PROPERTY, REMOVABLE_PROPERTY, SELECTABLE_PROPERTY, TRANSFORMABLE_PROPERTY
 
Constructor Summary
StraightLineFigure()
          Creates a new instance.
 
Method Summary
 StraightLineFigure clone()
          Returns a clone of the figure, with clones of all aggregated figures, such as children and decorators.
 boolean contains(java.awt.geom.Point2D.Double p)
          Checks if a point is contained by the figure.
protected  void drawFill(java.awt.Graphics2D g)
          This method is called by method draw() to draw the fill area of the figure.
protected  void drawStroke(java.awt.Graphics2D g)
          This method is called by method draw() to draw the text of the figure .
 java.awt.geom.Rectangle2D.Double getBounds()
          Returns the untransformed logical bounds of the figure as a Rectangle.
 java.lang.Object getTransformRestoreData()
          Gets data which can be used to restore the transformation of the figure without loss of precision, after a transform has been applied to it.
 void restoreTransformTo(java.lang.Object restoreData)
          Restores the transform of the figure to a previously stored state.
 void setBounds(java.awt.geom.Point2D.Double start, java.awt.geom.Point2D.Double end)
          Sets the logical and untransformed bounds of the figure.
 void transform(java.awt.geom.AffineTransform ty)
          Transforms the shape of the Figure.
 
Methods inherited from class org.jhotdraw.draw.AbstractAttributedFigure
applyAttributesTo, draw, drawText, get, getAttributeKey, getAttributes, getAttributesRestoreData, getDrawingArea, getStroke, getStrokeMiterLimitFactor, hasAttribute, isAttributeEnabled, read, readAttributes, removeAttribute, restoreAttributesTo, set, setAttributeEnabled, setAttributes, write, writeAttributes
 
Methods inherited from class org.jhotdraw.draw.AbstractFigure
addFigureListener, addNotify, basicClone, changed, createHandles, findCompatibleConnector, findConnector, findFigureInside, fireAreaInvalidated, fireAreaInvalidated, fireAreaInvalidated, fireAttributeChanged, fireFigureAdded, fireFigureChanged, fireFigureChanged, fireFigureChanged, fireFigureHandlesChanged, fireFigureRemoved, fireFigureRequestRemove, fireUndoableEditHappened, getActions, getChangingDepth, getConnectors, getCursor, getDecomposition, getDrawing, getEndPoint, getFontRenderContext, getLayer, getLock, getPreferredSize, getStartPoint, getTool, getToolTipText, handleDrop, handleMouseClick, includes, invalidate, isChanging, isConnectable, isRemovable, isSelectable, isTransformable, isVisible, remap, removeFigureListener, removeNotify, requestRemove, setBounds, setConnectable, setRemovable, setSelectable, setTransformable, setVisible, toString, validate, willChange
 
Methods inherited from class org.jhotdraw.beans.AbstractBean
addPropertyChangeListener, addPropertyChangeListener, firePropertyChange, firePropertyChange, firePropertyChange, getPropertyChangeListeners, removePropertyChangeListener, removePropertyChangeListener
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.jhotdraw.draw.Figure
addPropertyChangeListener, removePropertyChangeListener
 

Constructor Detail

StraightLineFigure

public StraightLineFigure()
Creates a new instance.

Method Detail

drawFill

protected void drawFill(java.awt.Graphics2D g)
Description copied from class: AbstractAttributedFigure
This method is called by method draw() to draw the fill area of the figure. AbstractAttributedFigure configures the Graphics2D object with the FILL_COLOR attribute before calling this method. If the FILL_COLOR attribute is null, this method is not called.

Specified by:
drawFill in class AbstractAttributedFigure

drawStroke

protected void drawStroke(java.awt.Graphics2D g)
Description copied from class: AbstractAttributedFigure
This method is called by method draw() to draw the text of the figure . AbstractAttributedFigure configures the Graphics2D object with the TEXT_COLOR attribute before calling this method. If the TEXT_COLOR attribute is null, this method is not called.

Specified by:
drawStroke in class AbstractAttributedFigure

transform

public void transform(java.awt.geom.AffineTransform ty)
Description copied from interface: Figure
Transforms the shape of the Figure. Transformations using double precision arithmethics are inherently lossy operations. Therefore it is recommended to use getTransformRestoreData() restoreTransformTo() to provide lossless undo/redo functionality.

This is a basic operation which does not fire events. Use the following code sequence, if you need event firing:

 aFigure.willChange();
 aFigure.transform(...);
 aFigure.changed();
 

Parameters:
ty - The transformation.
See Also:
Figure.getTransformRestoreData(), Figure.restoreTransformTo(java.lang.Object)

setBounds

public void setBounds(java.awt.geom.Point2D.Double start,
                      java.awt.geom.Point2D.Double end)
Description copied from interface: Figure
Sets the logical and untransformed bounds of the figure.

This is used by Tool's which create a new Figure and by Tool's which connect a Figure to another Figure.

This is a basic operation which does not fire events. Use the following code sequence, if you need event firing:

 aFigure.willChange();
 aFigure.setBounds(...);
 aFigure.changed();
 

Specified by:
setBounds in interface Figure
Overrides:
setBounds in class AbstractFigure
Parameters:
start - the start point of the bounds
end - the end point of the bounds
See Also:
Figure.getBounds()

getBounds

public java.awt.geom.Rectangle2D.Double getBounds()
Description copied from interface: Figure
Returns the untransformed logical bounds of the figure as a Rectangle.

The bounds are used by Handle objects for adjusting the figure and for aligning the figure on a grid.


getTransformRestoreData

public java.lang.Object getTransformRestoreData()
Description copied from interface: Figure
Gets data which can be used to restore the transformation of the figure without loss of precision, after a transform has been applied to it.

See Also:
Figure.transform(AffineTransform)

restoreTransformTo

public void restoreTransformTo(java.lang.Object restoreData)
Description copied from interface: Figure
Restores the transform of the figure to a previously stored state.


contains

public boolean contains(java.awt.geom.Point2D.Double p)
Description copied from interface: Figure
Checks if a point is contained by the figure.

This is used for hit testing by Tool's.


clone

public StraightLineFigure clone()
Description copied from interface: Figure
Returns a clone of the figure, with clones of all aggregated figures, such as children and decorators. The cloned figure does not clone the list of FigureListeners from its original.

Specified by:
clone in interface Figure
Overrides:
clone in class AbstractAttributedFigure

Copyright 1996-2010 (c) by the authors and contributors of the JHotDraw project.
Some rights reserved.