java.lang.Object
java.awt.geom.RectangularShape
java.awt.geom.RoundRectangle2D
- Direct Known Subclasses:
- RoundRectangle2D.Double,- RoundRectangle2D.Float
public abstract class RoundRectangle2D extends RectangularShape
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 SummaryNested Classes Modifier and Type Class Description static classRoundRectangle2D.DoubleTheDoubleclass defines a rectangle with rounded corners all specified indoublecoordinates.static classRoundRectangle2D.FloatTheFloatclass defines a rectangle with rounded corners all specified infloatcoordinates.
- 
Constructor SummaryConstructors Modifier Constructor Description protectedRoundRectangle2D()This is an abstract class that cannot be instantiated directly.
- 
Method SummaryModifier and Type Method Description booleancontains(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.booleanequals(Object obj)Determines whether or not the specifiedObjectis equal to thisRoundRectangle2D.abstract doublegetArcHeight()Gets the height of the arc that rounds off the corners.abstract doublegetArcWidth()Gets the width of the arc that rounds off the corners.PathIteratorgetPathIterator(AffineTransform at)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.voidsetRoundRect(RoundRectangle2D rr)Sets thisRoundRectangle2Dto be the same as the specifiedRoundRectangle2D.Methods declared in class java.awt.geom.RectangularShapeclone, contains, contains, getBounds, getCenterX, getCenterY, getFrame, getHeight, getMaxX, getMaxY, getMinX, getMinY, getPathIterator, getWidth, getX, getY, intersects, isEmpty, setFrame, setFrame, setFrameFromCenter, setFrameFromCenter, setFrameFromDiagonal, setFrameFromDiagonal
- 
Constructor Details- 
RoundRectangle2Dprotected 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:
- RoundRectangle2D.Float,- RoundRectangle2D.Double
 
 
- 
- 
Method Details- 
getArcWidthpublic 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
 
- 
getArcHeightpublic 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
 
- 
setRoundRectpublic 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 this- RoundRectangle2D
- y- the Y coordinate to which to set the location of this- RoundRectangle2D
- w- the width to which to set this- RoundRectangle2D
- h- the height to which to set this- RoundRectangle2D
- arcWidth- the width to which to set the arc of this- RoundRectangle2D
- arcHeight- the height to which to set the arc of this- RoundRectangle2D
- Since:
- 1.2
 
- 
setRoundRectSets thisRoundRectangle2Dto be the same as the specifiedRoundRectangle2D.- Parameters:
- rr- the specified- RoundRectangle2D
- Since:
- 1.2
 
- 
setFramepublic 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 class- RectangularShape
- Parameters:
- x- the X coordinate of the upper-left corner of the specified rectangular shape
- y- the Y coordinate of the upper-left corner of the specified rectangular shape
- w- the width of the specified rectangular shape
- h- the height of the specified rectangular shape
- Since:
- 1.2
- See Also:
- RectangularShape.getFrame()
 
- 
containspublic 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 tested
- y- the specified Y coordinate to be tested
- Returns:
- trueif the specified coordinates are inside the- Shapeboundary;- falseotherwise.
- Since:
- 1.2
 
- 
intersectspublic 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 area
- y- the Y coordinate of the upper-left corner of the specified rectangular area
- w- the width of the specified rectangular area
- h- the height of the specified rectangular area
- Returns:
- trueif the interior of the- Shapeand 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:
- Area
 
- 
 there is a high probability that the rectangular area and the
 
- 
containspublic 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 area
- y- the Y coordinate of the upper-left corner of the specified rectangular area
- w- the width of the specified rectangular area
- h- the height of the specified rectangular area
- Returns:
- trueif the interior of the- Shapeentirely contains the specified rectangular area;- falseotherwise or, if the- Shapecontains the rectangular area and the- intersectsmethod returns- trueand the containment calculations would be too expensive to perform.
- Since:
- 1.2
- See Also:
- Area,- Shape.intersects(double, double, double, double)
 
- 
 the 
- 
getPathIteratorReturns 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 optional- AffineTransformto be applied to the coordinates as they are returned in the iteration, or- nullif untransformed coordinates are desired
- Returns:
- the PathIteratorobject that returns the geometry of the outline of thisRoundRectangle2D, one segment at a time.
- Since:
- 1.2
 
- 
hashCodepublic int hashCode()Returns the hashcode for thisRoundRectangle2D.- Overrides:
- hashCodein class- Object
- Returns:
- the hashcode for this RoundRectangle2D.
- Since:
- 1.6
- See Also:
- Object.equals(java.lang.Object),- System.identityHashCode(java.lang.Object)
 
- 
equalsDetermines 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.- Overrides:
- equalsin class- Object
- Parameters:
- obj- an- Objectto be compared with this- RoundRectangle2D.
- Returns:
- trueif- objis an instance of- RoundRectangle2Dand has the same values;- falseotherwise.
- Since:
- 1.6
- See Also:
- Object.hashCode(),- HashMap
 
 
-