Package org.jhotdraw.draw

Defines a framework for structured drawing editors and provides default implementations.

See:
          Description

Interface Summary
CompositeFigure A composite figure is composed of several child Figures.
CompositeFigureListener Interface implemented by observers of CompositeFigure.
ConnectionFigure A connection figure connects two figures with a BezierPath.
Connector A connector knows how to locate the start point or the end point of a ConnectionFigure on a connected figure.
Constrainer A constrainer constrains editing operations performed by Tools and Handles on a DrawingView.
DecoratedFigure A decorated figure can be decorated with another Figure, for example to draw a border around the decorated figure.
DragTracker A drag tracker provides the behavior for dragging selected figures to the SelectionTool.
Drawing A drawing is a container for Figures.
DrawingEditor A drawing editor coordinates drawing tools and drawing views.
DrawingView A drawing view paints a Drawing on a JComponent.
Figure A figure is a graphical element of a Drawing.
FigureListener Interface implemented by observers of Figure objects.
FigureSelectionListener Interface implemented by observers of selection changes in DrawingView objects.
Handle A handle is used to change one aspect of a Figure by direct manipulation.
HandleListener Interface implemented by observers of Handles.
HandleTracker A handle tracker provides the behavior for manipulating a Handle of a figure to the SelectionTool.
ImageHolderFigure The interface of a Figure which has some editable image contents.
InputFormat An input format implements a strategy for reading a Drawing which is encoded in an InputStream, a File or a Transferable.
Layouter A Layouter encapsulates a algorithm to layout a CompositeFigure.
LineDecoration A line decoration can be used to draw a decoration at the start or end of a line.
Liner A liner encapsulates an algorithm to lay out the bezier path of a ConnectionFigure.
Locator A locator encapsulates a strategy for locating a point on a Figure.
OutputFormat An output format implements a strategy for writing a Drawing using a specific encoding into an OutputStream, a File or a Transferable.
SelectAreaTracker A select area tracker provides the behavior for selecting figures in a drawing area to the SelectionTool.
TextHolderFigure The interface of a Figure that has some editable text contents.
Tool A tool defines a mode of a DrawingEditor.
ToolListener Interface implemented by observers of Tools.
 

Class Summary
AbstractAttributedCompositeFigure This abstract class can be extended to implement a CompositeFigure which has its own attribute put.
AbstractAttributedDecoratedFigure This abstract class can be extended to implement a DecoratedFigure which has an attribute set.
AbstractAttributedFigure This abstract class can be extended to implement a Figure which has its own attribute put.
AbstractCompositeFigure This abstract class can be extended to implement a CompositeFigure.
AbstractConnectionHandle This abstract class can be extended to implement a Handle the start or end point of a ConnectionFigure.
AbstractConnector This abstract class can be extended to implement a Connector.
AbstractConstrainer This abstract class can be extended to implement a Constrainer.
AbstractDrawing This abstract class can be extended to implement a Drawing.
AbstractFigure This abstract class can be extended to implement a Figure.
AbstractHandle This abstract class can be extended to implement a Handle.
AbstractLayouter This abstract class can be extended to implement a Layouter which has its own attribute set.
AbstractLineDecoration This abstract class can be extended to implement a LineDecoration.
AbstractLocator This abstract class can be extended to implement a Locator.
AbstractRotateHandle This abstract class can be extended to implement a Handle which can rotate a Figure.
AbstractTool This abstract class can be extended to implement a Tool.
ArrowTip A LineDecoration which draws an arrow tip.
AttributeChangeEdit<T> An UndoableEdit event which can undo a change of a Figure attribute.
AttributeKey<T> An attribute key provides typesafe access to an attribute of a Figure.
AttributeKeys Defines a put of well known Figure attributes.
BezierControlPointHandle A Handle which allows to interactively change a control point of a bezier path.
BezierFigure A Figure which draws an opened or a closed bezier path.
BezierLabelLocator A Locator which can be used to place a label on the path of a BezierFigure.
BezierNodeEdit An UndoableEdit event which can undo a change of a node in a BezierFigure.
BezierNodeHandle A Handle which allows to interactively change a node of a bezier path.
BezierOutlineHandle A non-interactive Handle which draws the outline of a BezierFigure to make adjustments easier.
BezierPointLocator A Locator which locates a node on the bezier path of a BezierFigure.
BezierScaleHandle A Handle which allows to interactively scale and rotate a BezierFigure.
BezierTool A Tool which allows to create a new BezierFigure by drawing its path.
BidirectionalConnectionTool A tool that can be used to connect figures, to split connections, and to join two segments of a connection.
BorderRectangleFigure Deprecated. This class should be in one of the samples package
BoundsOutlineHandle A non-interactive Handle which draws the bounds of a Figure to make adjustments easier.
ChopBezierConnector A Connector which locates a connection point at the bounds of a BezierFigure.
ChopDiamondConnector A Connector which locates a connection point at the bounds of any figure which has a diamond shape, such as DiamondFigure.
ChopEllipseConnector A Connector which locates a connection point at the bounds of any figure which has an elliptic shape, such as EllipseFigure.
ChopRectangleConnector A Connector which locates a connection point at the bounds of any figure which has a rectangular shape, such as RectangleFigure.
ChopRoundRectangleConnector A Connector which locates a connection point at the bounds of a RoundRectangleFigure.
ChopTriangleConnector A Connector which locates a connection point at the bounds of a TriangleFigure.
CloseHandle A Handle which requests to remove its owning figure when clicked.
CompositeFigureEdit A CompositeEdit which invokes figure.willChange and figure.changed when undoing or redoing a change.
CompositeFigureEvent An EventObject sent to CompositeFigureListeners.
CompositeLineDecoration A LineDecoration which can compose multiple individual line decorations.
ConnectionEndHandle A Handle which allows to connect the end of a ConnectionFigure to another figure.
ConnectionStartHandle A Handle which allows to connect the start of a ConnectionFigure to another figure.
ConnectionTool A tool to create a connection between two figures.
ConnectorHandle A Handle associated to a Connector which allows to create a new ConnectionFigure by dragging the handle to another connector.
CreationTool A Tool to create a new figure by drawing its bounds.
CurvedLiner A Liner that constrains a connection to a curved line.
DefaultDragTracker DefaultDragTracker implements interactions with the content area of a Figure.
DefaultDrawing A default implementation of Drawing useful for drawings which contain only a few figures.
DefaultDrawingEditor A default implementation of DrawingEditor.
DefaultDrawingView A default implementation of DrawingView suited for viewing drawings with a small number of figures.
DefaultDrawingViewBeanInfo  
DefaultDrawingViewTransferHandler Default TransferHandler for DrawingView objects.
DefaultDrawingViewTransferHandler.DragHandler This is the default drag handler for drag and drop operations that use the TransferHandler.
DefaultDrawingViewTransferHandler.SwingDragGestureRecognizer  
DefaultHandleTracker DefaultHandleTracker implements interactions with the handles of a Figure.
DefaultSelectAreaTracker DefaultSelectAreaTracker implements interactions with the background area of a Drawing.
DelegationSelectionTool A SelectionTool, which recognizes double clicks and popup menu triggers.
DiamondFigure A Figure with a diamond shape.
DnDDrawingViewTransferHandler A TransferHandler for DrawingView objects which takes advantage of drag and drop features that were introduced with J2SE 6.
DnDTracker This is a tracker which supports drag and drop of figures between drawing views and any other component or application which support drag and drop.
DOMStorableInputOutputFormat An OutputFormat that can write Drawings with DOMStorable Figure's.
DragHandle A handle that changes the location of the owning figure, the handle covers all visible points of the figure.
DrawingEditorProxy DrawingEditorProxy.
DrawingPageable DrawingPageable can be used to print a Drawing using the java.awt.print API.
ElbowLiner A Liner that constrains a connection to orthogonal lines.
EllipseFigure A Figure with an elliptic shape.
FigureAdapter An abstract adapter class for receiving FigureEvents.
FigureEvent An EventObject sent to FigureListeners.
FigureLayerComparator A Comparator used to sort figures by their layer property.
FigureSelectionEvent An EventObject sent to FigureSelectionListeners.
FloatingTextArea A floating text area that is used to edit a TextHolderFigure.
FloatingTextField A floating text field that is used to edit a TextHolderFigure.
FontSizeHandle A Handle which can be used to change the font size of a TextHolderFigure.
FontSizeLocator FontSizeLocator is used by FontSizeHandle to locate its position on the drawing.
GeneralPathTip A LineDecoration which draws a general path.
GraphicalCompositeFigure The GraphicalCompositeFigure fills in the gap between a CompositeFigure and other figures which mainly have a presentation purpose.
GraphicalCompositeFigure.PresentationFigureHandler  
GridConstrainer Constrains a point such that it falls on a grid.
GroupFigure A Figure which groups a collection of figures.
HandleAttributeKeys Defines a put of well known Handle attributes.
HandleEvent An EventObject sent to HandleListeners.
HandleMulticaster Forwards events to one or many handles.
HorizontalLayouter A Layouter which lays out all children of a CompositeFigure in horizontal direction.
ImageFigure An ImageHolderFigure which holds a buffered image.
ImageInputFormat An input format for importing drawings using one of the image formats supported by javax.imageio.
ImageOutputFormat An output format for exporting drawings using one of the image formats supported by javax.imageio.
ImageTool A tool to create new figures that implement the ImageHolderFigure interface, such as ImageFigure.
LabeledLineConnectionFigure A LineConnection with labels.
LabeledLineConnectionFigure.ChildHandler  
LabelFigure A LabelFigure can be used to provide more double clickable area for a TextHolderFigure.
LineConnectionFigure A ConnectionFigure which connects two figures using a bezier path.
LineConnectionFigure.ConnectionHandler  
LineFigure A Figure which draws a continuous bezier path between two points.
ListFigure A ListFigure consists of a list of Figures and a RectangleFigure.
LocatorConnector A LocatorConnector locates connection points with the help of a Locator.
LocatorHandle A LocatorHandle implements a Handle by delegating the location requests to a Locator object.
LocatorLayouter A layouter which lays out all children of a CompositeFigure according to their LayoutLocator property..
MoveHandle A handle that changes the location of the owning figure, if the figure is transformable.
NullHandle A handle that doesn't change the owned figure.
OrientationHandle A Handle to change the value of the figure attribute AttributeKeys.ORIENTATION.
PerpendicularBar A LineDecoration which draws a perpendicular bar.
PictImageInputFormat An input format for importing drawings using the image/x-pict format from the Mac OS X clipboard.
QuadTreeCompositeFigure QuadTreeCompositeFigure.
QuadTreeDrawing An implementation of Drawing which uses a QuadTree to provide a good responsiveness for drawings which contain many figures.
RectangleFigure A Figure with a rectangular shape.
RelativeDecoratorLocator A locator that specfies a point that is relative to the bounds of a figures decorator.
RelativeLocator A locator that specfies a point that is relative to the bounds of a figure.
ResizeHandleKit A set of utility methods to create handles which resize a Figure by using its setBounds method, if the Figure is transformable.
ResizeHandleKit.EastHandle  
ResizeHandleKit.NorthEastHandle  
ResizeHandleKit.NorthHandle  
ResizeHandleKit.NorthWestHandle  
ResizeHandleKit.ResizeHandle  
ResizeHandleKit.SouthEastHandle  
ResizeHandleKit.SouthHandle  
ResizeHandleKit.SouthWestHandle  
ResizeHandleKit.WestHandle  
RotateHandle A Handle to rotate a Figure.
RoundRectangleFigure A Figure with a rounded rectangular shape.
RoundRectangleRadiusHandle A Handle to manipulate the corner radius of a RoundRectangleFigure.
SelectionTool Tool to select and manipulate figures.
SerializationInputOutputFormat SerializationInputOutputFormat uses Java Serialization for reading and and writing Drawing objects.
SetBoundsEdit SetBoundsEdit.
SlantedLiner SlantedLiner.
StickyRectangleConnector A StickyRectangleConnector locates connection Points by choping the connection between the centers of the two figures at the display box.
TextAreaCreationTool A tool to create new or edit existing figures that implement the TextHolderFigure interface, such as TextAreaFigure.
TextAreaEditingTool A tool to edit existing figures that implement the TextHolderFigure interface, such as TextAreaFigure.
TextAreaFigure A TextHolderFigure which holds multiple lines of text in a rectangular area.
TextCreationTool A tool to create figures which implement the TextHolderFigure interface, such as TextFigure.
TextEditingTool A tool to edit figures which implement the TextHolderFigure interface, such as TextFigure.
TextFigure A TextHolderFigure which holds a single line of text.
TextInputFormat An input format for importing text into a drawing.
TextOverflowHandle The TextOverflowHandle indicates when the text does not fit into the bounds of a TextAreaFigure.
ToolEvent An event sent to ToolListener's.
TransformEdit An UndoableEdit event which can undo a lossless transform of Figures by applying the inverse of the transform to the figures.
TransformHandleKit A set of utility methods to create Handles which transform a Figure by using its transform method.
TransformHandleKit.EastHandle  
TransformHandleKit.NorthEastHandle  
TransformHandleKit.NorthHandle  
TransformHandleKit.NorthWestHandle  
TransformHandleKit.SouthEastHandle  
TransformHandleKit.SouthHandle  
TransformHandleKit.SouthWestHandle  
TransformHandleKit.TransformHandle  
TransformHandleKit.WestHandle  
TransformRestoreEdit An UndoableEdit event which can undo a lossy transform of a single Figure by restoring the figure using its transform restore data.
TriangleFigure Implements a Figure with a triangular shape.
VerticalLayouter A Layouter which lays out all children of a CompositeFigure in vertical direction.
 

Enum Summary
AttributeKeys.Alignment  
AttributeKeys.Orientation  
AttributeKeys.StrokePlacement  
AttributeKeys.StrokeType  
AttributeKeys.Underfill  
AttributeKeys.WindingRule  
RotationDirection Specifies the possible directions for rotations on a two-dimensional plane.
TranslationDirection Specifies the possible directions for translations on a two-dimensional plane.
 

Package org.jhotdraw.draw Description

Defines a framework for structured drawing editors and provides default implementations.

Package Contents

All key contracts of the framework are defined by Java interfaces. For each interface exists an abstract class, which implements the event handling contract of the interface. And finally, there is at least one default implementation of each interface.

The key interfaces for the representation of a drawing are:

The key interface for displaying a drawing on screen is:

The key interfaces for editing a drawing are:

The key interfaces for loading and saving a drawing, and for providing copy and paste functionality are: