- java.lang.Object
-
- java.awt.geom.RectangularShape
-
- java.awt.geom.Rectangle2D
-
- java.awt.geom.Rectangle2D.Double
-
- All Implemented Interfaces:
Shape
,Serializable
,Cloneable
- Enclosing class:
- Rectangle2D
public static class Rectangle2D.Double extends Rectangle2D implements Serializable
TheDouble
class defines a rectangle specified in double coordinates.- Since:
- 1.2
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces declared in class java.awt.geom.Rectangle2D
Rectangle2D.Double, Rectangle2D.Float
-
-
Field Summary
Fields Modifier and Type Field Description double
height
The height of thisRectangle2D
.double
width
The width of thisRectangle2D
.double
x
The X coordinate of thisRectangle2D
.double
y
The Y coordinate of thisRectangle2D
.-
Fields declared in class java.awt.geom.Rectangle2D
OUT_BOTTOM, OUT_LEFT, OUT_RIGHT, OUT_TOP
-
-
Method Summary
Modifier and Type Method Description Rectangle2D
createIntersection(Rectangle2D r)
Returns a newRectangle2D
object representing the intersection of thisRectangle2D
with the specifiedRectangle2D
.Rectangle2D
createUnion(Rectangle2D r)
Returns a newRectangle2D
object representing the union of thisRectangle2D
with the specifiedRectangle2D
.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.int
outcode(double x, double y)
Determines where the specified coordinates lie with respect to thisRectangle2D
.void
setRect(double x, double y, double w, double h)
Sets the location and size of thisRectangle2D
to the specifieddouble
values.void
setRect(Rectangle2D r)
Sets thisRectangle2D
to be the same as the specifiedRectangle2D
.String
toString()
Returns theString
representation of thisRectangle2D
.-
Methods declared in class java.awt.geom.Rectangle2D
add, add, add, contains, contains, equals, getPathIterator, getPathIterator, hashCode, intersect, intersects, intersectsLine, intersectsLine, outcode, setFrame, union
-
Methods declared in class java.awt.geom.RectangularShape
clone, contains, contains, getBounds, getCenterX, getCenterY, getFrame, getMaxX, getMaxY, getMinX, getMinY, intersects, setFrame, setFrame, setFrameFromCenter, setFrameFromCenter, setFrameFromDiagonal, setFrameFromDiagonal
-
-
-
-
Constructor Detail
-
Double
public Double()
Constructs a newRectangle2D
, initialized to location (0, 0) and size (0, 0).- Since:
- 1.2
-
Double
public Double(double x, double y, double w, double h)
Constructs and initializes aRectangle2D
from the specifieddouble
coordinates.- Parameters:
x
- the X coordinate of the upper-left corner of the newly constructedRectangle2D
y
- the Y coordinate of the upper-left corner of the newly constructedRectangle2D
w
- the width of the newly constructedRectangle2D
h
- the height of the newly constructedRectangle2D
- 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
-
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
-
setRect
public void setRect(double x, double y, double w, double h)
Sets the location and size of thisRectangle2D
to the specifieddouble
values.- Specified by:
setRect
in classRectangle2D
- Parameters:
x
- the X coordinate of the upper-left corner of thisRectangle2D
y
- the Y coordinate of the upper-left corner of thisRectangle2D
w
- the width of thisRectangle2D
h
- the height of thisRectangle2D
- Since:
- 1.2
-
setRect
public void setRect(Rectangle2D r)
Sets thisRectangle2D
to be the same as the specifiedRectangle2D
.- Overrides:
setRect
in classRectangle2D
- Parameters:
r
- the specifiedRectangle2D
- Since:
- 1.2
-
outcode
public int outcode(double x, double y)
Determines where the specified coordinates lie with respect to thisRectangle2D
. This method computes a binary OR of the appropriate mask values indicating, for each side of thisRectangle2D
, whether or not the specified coordinates are on the same side of the edge as the rest of thisRectangle2D
.- Specified by:
outcode
in classRectangle2D
- Parameters:
x
- the specified X coordinatey
- the specified Y coordinate- Returns:
- the logical OR of all appropriate out codes.
- Since:
- 1.2
- See Also:
Rectangle2D.OUT_LEFT
,Rectangle2D.OUT_TOP
,Rectangle2D.OUT_RIGHT
,Rectangle2D.OUT_BOTTOM
-
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
- Overrides:
getBounds2D
in classRectangle2D
- Returns:
- an instance of
Rectangle2D
that is a high-precision bounding box of theShape
. - Since:
- 1.2
- See Also:
Shape.getBounds()
-
createIntersection
public Rectangle2D createIntersection(Rectangle2D r)
Returns a newRectangle2D
object representing the intersection of thisRectangle2D
with the specifiedRectangle2D
.- Specified by:
createIntersection
in classRectangle2D
- Parameters:
r
- theRectangle2D
to be intersected with thisRectangle2D
- Returns:
- the largest
Rectangle2D
contained in both the specifiedRectangle2D
and in thisRectangle2D
. - Since:
- 1.2
-
createUnion
public Rectangle2D createUnion(Rectangle2D r)
Returns a newRectangle2D
object representing the union of thisRectangle2D
with the specifiedRectangle2D
.- Specified by:
createUnion
in classRectangle2D
- Parameters:
r
- theRectangle2D
to be combined with thisRectangle2D
- Returns:
- the smallest
Rectangle2D
containing both the specifiedRectangle2D
and thisRectangle2D
. - Since:
- 1.2
-
-