public class RoundRectangleFigure extends AbstractAttributedFigure
Figure
with a rounded rectangular shape.
This figure has two JavaBeans properties arcWidth
and
arcHeight
which specify the corner radius.
This figure creates a RoundRectangleRadiusHandle
which allows
to interactively change the corner radius.
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
ARC_HEIGHT_PROPERTY
Identifies the
arcHeight JavaBeans property. |
static java.lang.String |
ARC_WIDTH_PROPERTY
Identifies the
arcWidth JavaBeans property. |
protected static double |
DEFAULT_ARC |
protected java.awt.geom.RoundRectangle2D.Double |
roundrect |
changingDepth, listenerList
propertySupport
CONNECTABLE_PROPERTY, REMOVABLE_PROPERTY, SELECTABLE_PROPERTY, TRANSFORMABLE_PROPERTY
Constructor and Description |
---|
RoundRectangleFigure()
Creates a new instance.
|
RoundRectangleFigure(double x,
double y,
double width,
double height) |
Modifier and Type | Method and Description |
---|---|
RoundRectangleFigure |
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 Point2D.Double is inside the figure.
|
java.util.Collection<Handle> |
createHandles(int detailLevel)
Creates handles used to manipulate 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
.
|
Connector |
findCompatibleConnector(Connector c,
boolean isStartConnector)
Gets a compatible connector.
|
Connector |
findConnector(java.awt.geom.Point2D.Double p,
ConnectionFigure prototype)
Returns the Figures connector for the specified location.
|
double |
getArcHeight()
Gets the arc height.
|
double |
getArcWidth()
Gets the arc width.
|
java.awt.geom.Rectangle2D.Double |
getBounds()
Returns the untransformed logical bounds of the figure as a Rectangle.
|
java.awt.geom.Rectangle2D.Double |
getDrawingArea()
Returns the drawing area 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 |
read(DOMInput in) |
void |
restoreTransformTo(java.lang.Object geometry)
Restores the transform of the figure to a previously stored state.
|
void |
setArc(double width,
double height)
Convenience method for setting both the arc width and the arc height.
|
void |
setArcHeight(double newValue)
Sets the arc height.
|
void |
setArcWidth(double newValue)
Sets the arc width.
|
void |
setBounds(java.awt.geom.Point2D.Double anchor,
java.awt.geom.Point2D.Double lead)
Sets the logical and untransformed bounds of the figure.
|
void |
transform(java.awt.geom.AffineTransform tx)
Transforms the figure.
|
void |
write(DOMOutput out) |
applyAttributesTo, draw, drawText, get, getAttributeKey, getAttributes, getAttributesRestoreData, getStroke, getStrokeMiterLimitFactor, hasAttribute, isAttributeEnabled, readAttributes, removeAttribute, restoreAttributesTo, set, setAttributeEnabled, setAttributes, writeAttributes
addFigureListener, addNotify, changed, 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
addPropertyChangeListener, addPropertyChangeListener, firePropertyChange, firePropertyChange, firePropertyChange, getPropertyChangeListeners, removePropertyChangeListener, removePropertyChangeListener
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
addPropertyChangeListener, removePropertyChangeListener
public static final java.lang.String ARC_WIDTH_PROPERTY
arcWidth
JavaBeans property.public static final java.lang.String ARC_HEIGHT_PROPERTY
arcHeight
JavaBeans property.protected java.awt.geom.RoundRectangle2D.Double roundrect
protected static final double DEFAULT_ARC
public RoundRectangleFigure()
public RoundRectangleFigure(double x, double y, double width, double height)
protected void drawFill(java.awt.Graphics2D g)
AbstractAttributedFigure
drawFill
in class AbstractAttributedFigure
protected void drawStroke(java.awt.Graphics2D g)
AbstractAttributedFigure
drawStroke
in class AbstractAttributedFigure
public java.awt.geom.Rectangle2D.Double getBounds()
Figure
The bounds are used by Handle objects for adjusting the figure and for aligning the figure on a grid.
public java.awt.geom.Rectangle2D.Double getDrawingArea()
Figure
The drawing area is used to inform DrawingView
about the
area that is needed to draw this figure.
The drawing area needs to be large enough, to take line width, line caps and other decorations into account that exceed the bounds of the Figure.
getDrawingArea
in interface Figure
getDrawingArea
in class AbstractAttributedFigure
public double getArcWidth()
public double getArcHeight()
public void setArcWidth(double newValue)
public void setArcHeight(double newValue)
public void setArc(double width, double height)
public boolean contains(java.awt.geom.Point2D.Double p)
public void setBounds(java.awt.geom.Point2D.Double anchor, java.awt.geom.Point2D.Double lead)
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:
figure.willChange(); figure.setBounds(...); figure.changed();
setBounds
in interface Figure
setBounds
in class AbstractFigure
anchor
- the start point of the boundslead
- the end point of the boundsFigure.getBounds()
public void transform(java.awt.geom.AffineTransform tx)
tx
- The transformation.Figure.getTransformRestoreData()
,
Figure.restoreTransformTo(java.lang.Object)
public java.util.Collection<Handle> createHandles(int detailLevel)
Figure
createHandles
in interface Figure
createHandles
in class AbstractFigure
detailLevel
- The detail level of the handles. Usually this is 0 for
bounding box handles and 1 for point handles. The value -1 is used
by the SelectAreaTracker and the HandleTracker to highlight figures, over which the mouse
pointer is hovering.Handle
public void restoreTransformTo(java.lang.Object geometry)
Figure
public java.lang.Object getTransformRestoreData()
Figure
Figure.transform(AffineTransform)
public Connector findConnector(java.awt.geom.Point2D.Double p, ConnectionFigure prototype)
AbstractFigure
findConnector
in interface Figure
findConnector
in class AbstractFigure
p
- the location of the connector.prototype
- The prototype used to create a connection or null if
unknown. This allows for specific connectors for different
connection figures.ChopRectangleConnector
public Connector findCompatibleConnector(Connector c, boolean isStartConnector)
Figure
findCompatibleConnector
in interface Figure
findCompatibleConnector
in class AbstractFigure
public RoundRectangleFigure clone()
Figure
clone
in interface Figure
clone
in class AbstractAttributedFigure
public void read(DOMInput in) throws java.io.IOException
read
in interface DOMStorable
read
in class AbstractAttributedFigure
java.io.IOException
public void write(DOMOutput out) throws java.io.IOException
write
in interface DOMStorable
write
in class AbstractAttributedFigure
java.io.IOException