Package org.jhotdraw.draw

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


Interface Summary
CompositeFigure A composite figure is composed of several child Figures.
ConnectionFigure A connection figure connects two figures with a BezierPath.
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.
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.
ImageHolderFigure The interface of a Figure which has some editable image contents.
TextHolderFigure The interface of a Figure that has some editable text contents.

Class Summary
AbstractAttributedCompositeFigure This abstract class can be extended to implement a CompositeFigure which has its own attribute set.
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 set.
AbstractCompositeFigure This abstract class can be extended to implement a CompositeFigure.
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.
AttributeKey<T> An attribute key provides typesafe access to an attribute of a Figure.
AttributeKeys Defines a put of well known Figure attributes.
BezierFigure A Figure which draws an opened or a closed bezier path.
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.
DefaultDrawingViewTransferHandler Default TransferHandler for DrawingView objects.
DefaultDrawingViewTransferHandler.DragHandler This is the default drag handler for drag and drop operations that use the TransferHandler.
DiamondFigure A Figure with a diamond shape.
DrawingEditorProxy DrawingEditorProxy.
EllipseFigure A Figure with an elliptic shape.
FigureLayerComparator A Comparator used to sort figures by their layer property.
GraphicalCompositeFigure The GraphicalCompositeFigure fills in the gap between a CompositeFigure and other figures which mainly have a presentation purpose.
GridConstrainer Constrains a point such that it falls on a grid.
GroupFigure A Figure which groups a collection of figures.
ImageFigure A default implementation of ImageHolderFigure which can hold a buffered image.
LabeledLineConnectionFigure A LineConnection with labels.
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.
LineFigure A Figure which draws a continuous bezier path between two points.
ListFigure A ListFigure consists of a list of Figures and a RectangleFigure.
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.
RoundRectangleFigure A Figure with a rounded rectangular shape.
TextAreaFigure A TextHolderFigure which holds multiple lines of text in a rectangular area.
TextFigure A TextHolderFigure which holds a single line of text.
TriangleFigure Implements a Figure with a triangular shape.

Enum Summary
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: