Class RoundRectangle2D
java.lang.Object
java.awt.geom.RectangularShape
java.awt.geom.RoundRectangle2D
- Direct Known Subclasses:
RoundRectangle2D.Double, RoundRectangle2D.Float
The
RoundRectangle2D class defines a rectangle with
rounded corners defined by a location (x,y), a
dimension (w x h), and the width and height of an arc
with which to round the corners.
This class is the abstract superclass for all objects that store a 2D rounded rectangle. The actual storage representation of the coordinates is left to the subclass.
- Since:
- 1.2
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classTheDoubleclass defines a rectangle with rounded corners all specified indoublecoordinates.static classTheFloatclass defines a rectangle with rounded corners all specified infloatcoordinates. -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedThis is an abstract class that cannot be instantiated directly. -
Method Summary
Modifier and TypeMethodDescriptionbooleancontains(double x, double y) Tests if the specified coordinates are inside the boundary of theShape, as described by the definition of insideness.booleancontains(double x, double y, double w, double h) Tests if the interior of theShapeentirely contains the specified rectangular area.booleanDetermines whether or not the specifiedObjectis equal to thisRoundRectangle2D.abstract doubleGets the height of the arc that rounds off the corners.abstract doubleGets the width of the arc that rounds off the corners.Returns an iteration object that defines the boundary of thisRoundRectangle2D.inthashCode()Returns the hashcode for thisRoundRectangle2D.booleanintersects(double x, double y, double w, double h) Tests if the interior of theShapeintersects the interior of a specified rectangular area.voidsetFrame(double x, double y, double w, double h) Sets the location and size of the framing rectangle of thisShapeto the specified rectangular values.abstract voidsetRoundRect(double x, double y, double w, double h, double arcWidth, double arcHeight) Sets the location, size, and corner radii of thisRoundRectangle2Dto the specifieddoublevalues.voidSets thisRoundRectangle2Dto be the same as the specifiedRoundRectangle2D.Methods declared in class RectangularShape
clone, contains, contains, getBounds, getCenterX, getCenterY, getFrame, getHeight, getMaxX, getMaxY, getMinX, getMinY, getPathIterator, getWidth, getX, getY, intersects, isEmpty, setFrame, setFrame, setFrameFromCenter, setFrameFromCenter, setFrameFromDiagonal, setFrameFromDiagonalModifier and TypeMethodDescriptionclone()Creates a new object of the same class and with the same contents as this object.booleanTests if a specifiedPoint2Dis inside the boundary of theShape, as described by the definition of insideness.booleanTests if the interior of theShapeentirely contains the specifiedRectangle2D.Returns an integerRectanglethat completely encloses theShape.doubleReturns the X coordinate of the center of the framing rectangle of theShapeindoubleprecision.doubleReturns the Y coordinate of the center of the framing rectangle of theShapeindoubleprecision.getFrame()Returns the framingRectangle2Dthat defines the overall shape of this object.abstract doubleReturns the height of the framing rectangle indoubleprecision.doublegetMaxX()Returns the largest X coordinate of the framing rectangle of theShapeindoubleprecision.doublegetMaxY()Returns the largest Y coordinate of the framing rectangle of theShapeindoubleprecision.doublegetMinX()Returns the smallest X coordinate of the framing rectangle of theShapeindoubleprecision.doublegetMinY()Returns the smallest Y coordinate of the framing rectangle of theShapeindoubleprecision.getPathIterator(AffineTransform at, double flatness) Returns an iterator object that iterates along theShapeobject's boundary and provides access to a flattened view of the outline of theShapeobject's geometry.abstract doublegetWidth()Returns the width of the framing rectangle indoubleprecision.abstract doublegetX()Returns the X coordinate of the upper-left corner of the framing rectangle indoubleprecision.abstract doublegetY()Returns the Y coordinate of the upper-left corner of the framing rectangle indoubleprecision.booleanTests if the interior of theShapeintersects the interior of a specifiedRectangle2D.abstract booleanisEmpty()Determines whether theRectangularShapeis empty.voidsetFrame(Point2D loc, Dimension2D size) Sets the location and size of the framing rectangle of thisShapeto the specifiedPoint2DandDimension2D, respectively.voidSets the framing rectangle of thisShapeto be the specifiedRectangle2D.voidsetFrameFromCenter(double centerX, double centerY, double cornerX, double cornerY) Sets the framing rectangle of thisShapebased on the specified center point coordinates and corner point coordinates.voidsetFrameFromCenter(Point2D center, Point2D corner) Sets the framing rectangle of thisShapebased on a specified centerPoint2Dand cornerPoint2D.voidsetFrameFromDiagonal(double x1, double y1, double x2, double y2) Sets the diagonal of the framing rectangle of thisShapebased on the two specified coordinates.voidsetFrameFromDiagonal(Point2D p1, Point2D p2) Sets the diagonal of the framing rectangle of thisShapebased on two specifiedPoint2Dobjects.Methods declared in class Object
finalize, getClass, notify, notifyAll, toString, wait, wait, waitModifier and TypeMethodDescriptionprotected voidfinalize()Deprecated, for removal: This API element is subject to removal in a future version.Finalization is deprecated and subject to removal in a future release.final Class<?> getClass()Returns the runtime class of thisObject.final voidnotify()Wakes up a single thread that is waiting on this object's monitor.final voidWakes up all threads that are waiting on this object's monitor.toString()Returns a string representation of the object.final voidwait()Causes the current thread to wait until it is awakened, typically by being notified or interrupted.final voidwait(long timeoutMillis) Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.final voidwait(long timeoutMillis, int nanos) Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.Methods declared in interface Shape
getBounds2DModifier and TypeMethodDescriptionReturns a high precision and more accurate bounding box of theShapethan thegetBoundsmethod.
-
Constructor Details
-
RoundRectangle2D
protected RoundRectangle2D()This is an abstract class that cannot be instantiated directly. Type-specific implementation subclasses are available for instantiation and provide a number of formats for storing the information necessary to satisfy the various accessor methods below.- Since:
- 1.2
- See Also:
-
-
Method Details
-
getArcWidth
public abstract double getArcWidth()Gets the width of the arc that rounds off the corners.- Returns:
- the width of the arc that rounds off the corners
of this
RoundRectangle2D. - Since:
- 1.2
-
getArcHeight
public abstract double getArcHeight()Gets the height of the arc that rounds off the corners.- Returns:
- the height of the arc that rounds off the corners
of this
RoundRectangle2D. - Since:
- 1.2
-
setRoundRect
public abstract void setRoundRect(double x, double y, double w, double h, double arcWidth, double arcHeight) Sets the location, size, and corner radii of thisRoundRectangle2Dto the specifieddoublevalues.- Parameters:
x- the X coordinate to which to set the location of thisRoundRectangle2Dy- the Y coordinate to which to set the location of thisRoundRectangle2Dw- the width to which to set thisRoundRectangle2Dh- the height to which to set thisRoundRectangle2DarcWidth- the width to which to set the arc of thisRoundRectangle2DarcHeight- the height to which to set the arc of thisRoundRectangle2D- Since:
- 1.2
-
setRoundRect
Sets thisRoundRectangle2Dto be the same as the specifiedRoundRectangle2D.- Parameters:
rr- the specifiedRoundRectangle2D- Since:
- 1.2
-
setFrame
public void setFrame(double x, double y, double w, double h) Sets the location and size of the framing rectangle of thisShapeto the specified rectangular values.- Specified by:
setFramein classRectangularShape- Parameters:
x- the X coordinate of the upper-left corner of the specified rectangular shapey- the Y coordinate of the upper-left corner of the specified rectangular shapew- the width of the specified rectangular shapeh- the height of the specified rectangular shape- Since:
- 1.2
- See Also:
-
contains
public boolean contains(double x, double y) Tests if the specified coordinates are inside the boundary of theShape, as described by the definition of insideness.- Parameters:
x- the specified X coordinate to be testedy- the specified Y coordinate to be tested- Returns:
trueif the specified coordinates are inside theShapeboundary;falseotherwise.- Since:
- 1.2
-
intersects
public boolean intersects(double x, double y, double w, double h) Tests if the interior of theShapeintersects the interior of a specified rectangular area. The rectangular area is considered to intersect theShapeif any point is contained in both the interior of theShapeand the specified rectangular area.The
Shape.intersects()method allows aShapeimplementation to conservatively returntruewhen:-
there is a high probability that the rectangular area and the
Shapeintersect, but - the calculations to accurately determine this intersection are prohibitively expensive.
Shapesthis method might returntrueeven though the rectangular area does not intersect theShape. TheAreaclass performs more accurate computations of geometric intersection than mostShapeobjects and therefore can be used if a more precise answer is required.- Parameters:
x- the X coordinate of the upper-left corner of the specified rectangular areay- the Y coordinate of the upper-left corner of the specified rectangular areaw- the width of the specified rectangular areah- the height of the specified rectangular area- Returns:
trueif the interior of theShapeand the interior of the rectangular area intersect, or are both highly likely to intersect and intersection calculations would be too expensive to perform;falseotherwise.- Since:
- 1.2
- See Also:
-
there is a high probability that the rectangular area and the
-
contains
public boolean contains(double x, double y, double w, double h) Tests if the interior of theShapeentirely contains the specified rectangular area. All coordinates that lie inside the rectangular area must lie within theShapefor the entire rectangular area to be considered contained within theShape.The
Shape.contains()method allows aShapeimplementation to conservatively returnfalsewhen:-
the
intersectmethod returnstrueand -
the calculations to determine whether or not the
Shapeentirely contains the rectangular area are prohibitively expensive.
Shapesthis method might returnfalseeven though theShapecontains the rectangular area. TheAreaclass performs more accurate geometric computations than mostShapeobjects and therefore can be used if a more precise answer is required.- Parameters:
x- the X coordinate of the upper-left corner of the specified rectangular areay- the Y coordinate of the upper-left corner of the specified rectangular areaw- the width of the specified rectangular areah- the height of the specified rectangular area- Returns:
trueif the interior of theShapeentirely contains the specified rectangular area;falseotherwise or, if theShapecontains the rectangular area and theintersectsmethod returnstrueand the containment calculations would be too expensive to perform.- Since:
- 1.2
- See Also:
-
the
-
getPathIterator
Returns an iteration object that defines the boundary of thisRoundRectangle2D. The iterator for this class is multi-threaded safe, which means that thisRoundRectangle2Dclass guarantees that modifications to the geometry of thisRoundRectangle2Dobject do not affect any iterations of that geometry that are already in process.- Parameters:
at- an optionalAffineTransformto be applied to the coordinates as they are returned in the iteration, ornullif untransformed coordinates are desired- Returns:
- the
PathIteratorobject that returns the geometry of the outline of thisRoundRectangle2D, one segment at a time. - Since:
- 1.2
-
hashCode
-
equals
Determines whether or not the specifiedObjectis equal to thisRoundRectangle2D. The specifiedObjectis equal to thisRoundRectangle2Dif it is an instance ofRoundRectangle2Dand if its location, size, and corner arc dimensions are the same as thisRoundRectangle2D.
-