Class Rectangle2D.Double
- 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
The Double
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
Modifier and Type | Field | Description |
---|---|---|
double | height | The height of this |
double | width | The width of this |
double | x | The X coordinate of this |
double | y | The Y coordinate of this |
Fields declared in class java.awt.geom.Rectangle2D
OUT_BOTTOM, OUT_LEFT, OUT_RIGHT, OUT_TOP
Constructor Summary
Constructor | Description |
---|---|
Double() | Constructs a new |
Double(double x,
double y,
double w,
double h) | Constructs and initializes a |
Method Summary
Modifier and Type | Method | Description |
---|---|---|
Rectangle2D | createIntersection(Rectangle2D r) | Returns a new |
Rectangle2D | createUnion(Rectangle2D r) | Returns a new |
Rectangle2D | getBounds2D() | Returns a high precision and more accurate bounding box of the |
double | getHeight() | Returns the height of the framing rectangle in |
double | getWidth() | Returns the width of the framing rectangle in |
double | getX() | Returns the X coordinate of the upper-left corner of the framing rectangle in |
double | getY() | Returns the Y coordinate of the upper-left corner of the framing rectangle in |
boolean | isEmpty() | Determines whether the |
int | outcode(double x,
double y) | Determines where the specified coordinates lie with respect to this |
void | setRect(double x,
double y,
double w,
double h) | Sets the location and size of this |
void | setRect(Rectangle2D r) | Sets this |
String | toString() | Returns the |
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
Methods declared in class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
Field Detail
x
public double x
The X coordinate of this Rectangle2D
.
- Since:
- 1.2
y
public double y
The Y coordinate of this Rectangle2D
.
- Since:
- 1.2
width
public double width
The width of this Rectangle2D
.
- Since:
- 1.2
height
public double height
The height of this Rectangle2D
.
- Since:
- 1.2
Constructor Detail
Double
public Double()
Constructs a new Rectangle2D
, 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 a Rectangle2D
from the specified double
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 in double
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 in double
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 in double
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 in double
precision.
- Specified by:
-
getHeight
in classRectangularShape
- Returns:
- the height of the framing rectangle.
- Since:
- 1.2
isEmpty
public boolean isEmpty()
Determines whether the RectangularShape
is empty. When the RectangularShape
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 this Rectangle2D
to the specified double
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 this Rectangle2D
to be the same as the specified Rectangle2D
.
- 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 this Rectangle2D
. This method computes a binary OR of the appropriate mask values indicating, for each side of this Rectangle2D
, whether or not the specified coordinates are on the same side of the edge as the rest of this Rectangle2D
.
- Specified by:
-
outcode
in classRectangle2D
- Parameters:
-
x
- the specified X coordinate -
y
- 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 the Shape
than the getBounds
method. Note that there is no guarantee that the returned Rectangle2D
is the smallest bounding box that encloses the Shape
, only that the Shape
lies entirely within the indicated Rectangle2D
. The bounding box returned by this method is usually tighter than that returned by the getBounds
method and never fails due to overflow problems since the return value can be an instance of the Rectangle2D
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 returned bounds
object, but only in cases where those points are also not considered contained in the original shape
.
If a point
is inside the shape
according to the contains(point)
method, then it must be inside the returned Rectangle2D
bounds object according to the contains(point)
method of the bounds
. Specifically:
shape.contains(p)
requires bounds.contains(p)
If a point
is not inside the shape
, then it might still be contained in the bounds
object:
bounds.contains(p)
does not imply shape.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 new Rectangle2D
object representing the intersection of this Rectangle2D
with the specified Rectangle2D
.
- 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 new Rectangle2D
object representing the union of this Rectangle2D
with the specified Rectangle2D
.
- 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
toString
public String toString()
Returns the String
representation of this Rectangle2D
.