- java.lang.Object
-
- java.awt.geom.RectangularShape
-
- java.awt.geom.RoundRectangle2D
-
- java.awt.geom.RoundRectangle2D.Double
-
- All Implemented Interfaces:
Shape
,Serializable
,Cloneable
- Enclosing class:
- RoundRectangle2D
public static class RoundRectangle2D.Double extends RoundRectangle2D implements Serializable
TheDouble
class defines a rectangle with rounded corners all specified indouble
coordinates.- Since:
- 1.2
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class java.awt.geom.RoundRectangle2D
RoundRectangle2D.Double, RoundRectangle2D.Float
-
-
Field Summary
Fields Modifier and Type Field Description double
archeight
The height of the arc that rounds off the corners.double
arcwidth
The width of the arc that rounds off the corners.double
height
The height of thisRoundRectangle2D
.double
width
The width of thisRoundRectangle2D
.double
x
The X coordinate of thisRoundRectangle2D
.double
y
The Y coordinate of thisRoundRectangle2D
.
-
Constructor Summary
Constructors Constructor Description Double()
Constructs a newRoundRectangle2D
, initialized to location (0.0, 0.0), size (0.0, 0.0), and corner arcs of radius 0.0.Double(double x, double y, double w, double h, double arcw, double arch)
Constructs and initializes aRoundRectangle2D
from the specifieddouble
coordinates.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description double
getArcHeight()
Gets the height of the arc that rounds off the corners.double
getArcWidth()
Gets the width of the arc that rounds off the corners.Rectangle2D
getBounds2D()
Returns a high precision and more accurate bounding box of theShape
than thegetBounds
method.double
getHeight()
Returns the height of the framing rectangle indouble
precision.double
getWidth()
Returns the width of the framing rectangle indouble
precision.double
getX()
Returns the X coordinate of the upper-left corner of the framing rectangle indouble
precision.double
getY()
Returns the Y coordinate of the upper-left corner of the framing rectangle indouble
precision.boolean
isEmpty()
Determines whether theRectangularShape
is empty.void
setRoundRect(double x, double y, double w, double h, double arcw, double arch)
Sets the location, size, and corner radii of thisRoundRectangle2D
to the specifieddouble
values.void
setRoundRect(RoundRectangle2D rr)
Sets thisRoundRectangle2D
to be the same as the specifiedRoundRectangle2D
.-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from class java.awt.geom.RectangularShape
clone, contains, contains, getBounds, getCenterX, getCenterY, getFrame, getMaxX, getMaxY, getMinX, getMinY, getPathIterator, intersects, setFrame, setFrame, setFrameFromCenter, setFrameFromCenter, setFrameFromDiagonal, setFrameFromDiagonal
-
Methods inherited from class java.awt.geom.RoundRectangle2D
contains, contains, equals, getPathIterator, hashCode, intersects, setFrame
-
-
-
-
Field Detail
-
x
public double x
The X coordinate of thisRoundRectangle2D
.- Since:
- 1.2
-
y
public double y
The Y coordinate of thisRoundRectangle2D
.- Since:
- 1.2
-
width
public double width
The width of thisRoundRectangle2D
.- Since:
- 1.2
-
height
public double height
The height of thisRoundRectangle2D
.- Since:
- 1.2
-
arcwidth
public double arcwidth
The width of the arc that rounds off the corners.- Since:
- 1.2
-
archeight
public double archeight
The height of the arc that rounds off the corners.- Since:
- 1.2
-
-
Constructor Detail
-
Double
public Double()
Constructs a newRoundRectangle2D
, initialized to location (0.0, 0.0), size (0.0, 0.0), and corner arcs of radius 0.0.- Since:
- 1.2
-
Double
public Double(double x, double y, double w, double h, double arcw, double arch)
Constructs and initializes aRoundRectangle2D
from the specifieddouble
coordinates.- Parameters:
x
- the X coordinate of the newly constructedRoundRectangle2D
y
- the Y coordinate of the newly constructedRoundRectangle2D
w
- the width to which to set the newly constructedRoundRectangle2D
h
- the height to which to set the newly constructedRoundRectangle2D
arcw
- the width of the arc to use to round off the corners of the newly constructedRoundRectangle2D
arch
- the height of the arc to use to round off the corners of the newly constructedRoundRectangle2D
- Since:
- 1.2
-
-
Method Detail
-
getX
public double getX()
Returns the X coordinate of the upper-left corner of the framing rectangle indouble
precision.- Specified by:
getX
in classRectangularShape
- Returns:
- the X coordinate of the upper-left corner of the framing rectangle.
- Since:
- 1.2
-
getY
public double getY()
Returns the Y coordinate of the upper-left corner of the framing rectangle indouble
precision.- Specified by:
getY
in classRectangularShape
- Returns:
- the Y coordinate of the upper-left corner of the framing rectangle.
- Since:
- 1.2
-
getWidth
public double getWidth()
Returns the width of the framing rectangle indouble
precision.- Specified by:
getWidth
in classRectangularShape
- Returns:
- the width of the framing rectangle.
- Since:
- 1.2
-
getHeight
public double getHeight()
Returns the height of the framing rectangle indouble
precision.- Specified by:
getHeight
in classRectangularShape
- Returns:
- the height of the framing rectangle.
- Since:
- 1.2
-
getArcWidth
public double getArcWidth()
Gets the width of the arc that rounds off the corners.- Specified by:
getArcWidth
in classRoundRectangle2D
- Returns:
- the width of the arc that rounds off the corners
of this
RoundRectangle2D
. - Since:
- 1.2
-
getArcHeight
public double getArcHeight()
Gets the height of the arc that rounds off the corners.- Specified by:
getArcHeight
in classRoundRectangle2D
- Returns:
- the height of the arc that rounds off the corners
of this
RoundRectangle2D
. - Since:
- 1.2
-
isEmpty
public boolean isEmpty()
Determines whether theRectangularShape
is empty. When theRectangularShape
is empty, it encloses no area.- Specified by:
isEmpty
in classRectangularShape
- Returns:
true
if theRectangularShape
is empty;false
otherwise.- Since:
- 1.2
-
setRoundRect
public void setRoundRect(double x, double y, double w, double h, double arcw, double arch)
Sets the location, size, and corner radii of thisRoundRectangle2D
to the specifieddouble
values.- Specified by:
setRoundRect
in classRoundRectangle2D
- Parameters:
x
- the X coordinate to which to set the location of thisRoundRectangle2D
y
- the Y coordinate to which to set the location of thisRoundRectangle2D
w
- the width to which to set thisRoundRectangle2D
h
- the height to which to set thisRoundRectangle2D
arcw
- the width to which to set the arc of thisRoundRectangle2D
arch
- the height to which to set the arc of thisRoundRectangle2D
- Since:
- 1.2
-
setRoundRect
public void setRoundRect(RoundRectangle2D rr)
Sets thisRoundRectangle2D
to be the same as the specifiedRoundRectangle2D
.- Overrides:
setRoundRect
in classRoundRectangle2D
- Parameters:
rr
- the specifiedRoundRectangle2D
- Since:
- 1.2
-
getBounds2D
public Rectangle2D getBounds2D()
Returns a high precision and more accurate bounding box of theShape
than thegetBounds
method. Note that there is no guarantee that the returnedRectangle2D
is the smallest bounding box that encloses theShape
, only that theShape
lies entirely within the indicatedRectangle2D
. The bounding box returned by this method is usually tighter than that returned by thegetBounds
method and never fails due to overflow problems since the return value can be an instance of theRectangle2D
that uses double precision values to store the dimensions.Note that the definition of insideness can lead to situations where points on the defining outline of the
shape
may not be considered contained in the returnedbounds
object, but only in cases where those points are also not considered contained in the originalshape
.If a
point
is inside theshape
according to thecontains(point)
method, then it must be inside the returnedRectangle2D
bounds object according to thecontains(point)
method of thebounds
. Specifically:shape.contains(p)
requiresbounds.contains(p)
If a
point
is not inside theshape
, then it might still be contained in thebounds
object:bounds.contains(p)
does not implyshape.contains(p)
- Specified by:
getBounds2D
in interfaceShape
- Returns:
- an instance of
Rectangle2D
that is a high-precision bounding box of theShape
. - Since:
- 1.2
- See Also:
Shape.getBounds()
-
-