public abstract class Rectangle2D extends RectangularShape
It is valid for a rectangle to have negative width or height; but it
is considered to have no area or internal points. Therefore, the behavior
in methods like contains or intersects is
undefined unless the rectangle has positive width and height.
| Modifier and Type | Class and Description |
|---|---|
static class |
Rectangle2D.Double
This class defines a rectangle in
double precision. |
static class |
Rectangle2D.Float
This class defines a rectangle in
float precision. |
| Modifier and Type | Field and Description |
|---|---|
static int |
OUT_BOTTOM
The point lies below of the rectangle (p.y > r.maxY).
|
static int |
OUT_LEFT
The point lies left of the rectangle (p.x < r.x).
|
static int |
OUT_RIGHT
The point lies right of the rectangle (p.x > r.maxX).
|
static int |
OUT_TOP
The point lies above the rectangle (p.y < r.y).
|
| Modifier | Constructor and Description |
|---|---|
protected |
Rectangle2D()
Default constructor.
|
| Modifier and Type | Method and Description |
|---|---|
void |
add(double newx,
double newy)
Modifies this rectangle so that it represents the smallest rectangle
that contains both the existing rectangle and the specified point.
|
void |
add(Point2D p)
Modifies this rectangle so that it represents the smallest rectangle
that contains both the existing rectangle and the specified point.
|
void |
add(Rectangle2D r)
Modifies this rectangle so that it represents the smallest rectangle
that contains both the existing rectangle and the specified rectangle.
|
boolean |
contains(double x,
double y)
Test if the given point is contained in the rectangle.
|
boolean |
contains(double x,
double y,
double w,
double h)
Tests if this rectangle contains the given one.
|
abstract Rectangle2D |
createIntersection(Rectangle2D r)
Return a new rectangle which is the intersection of this and the given
one.
|
abstract Rectangle2D |
createUnion(Rectangle2D r)
Return a new rectangle which is the union of this and the given one.
|
boolean |
equals(Object obj)
Tests this rectangle for equality against the specified object.
|
Rectangle2D |
getBounds2D()
Returns the bounds of this rectangle.
|
PathIterator |
getPathIterator(AffineTransform at)
Return an iterator along the shape boundary.
|
PathIterator |
getPathIterator(AffineTransform at,
double flatness)
Return an iterator along the shape boundary.
|
int |
hashCode()
Return the hashcode for this rectangle.
|
static void |
intersect(Rectangle2D src1,
Rectangle2D src2,
Rectangle2D dest)
Intersects a pair of rectangles, and places the result in the
destination; this can be used to avoid object creation.
|
boolean |
intersects(double x,
double y,
double w,
double h)
Tests if the given rectangle intersects this one.
|
boolean |
intersectsLine(double x1,
double y1,
double x2,
double y2)
Tests if the specified line intersects the interior of this rectangle.
|
boolean |
intersectsLine(Line2D l)
Tests if the specified line intersects the interior of this rectangle.
|
abstract int |
outcode(double x,
double y)
Determine where the point lies with respect to this rectangle.
|
int |
outcode(Point2D p)
Determine where the point lies with respect to this rectangle.
|
void |
setFrame(double x,
double y,
double w,
double h)
Set the bounding box of this rectangle.
|
abstract void |
setRect(double x,
double y,
double w,
double h)
Set the bounding box of this rectangle.
|
void |
setRect(Rectangle2D r)
Set the bounding box of this rectangle from the given one.
|
static void |
union(Rectangle2D src1,
Rectangle2D src2,
Rectangle2D dest)
Joins a pair of rectangles, and places the result in the destination;
this can be used to avoid object creation.
|
clone, contains, contains, getBounds, getCenterX, getCenterY, getFrame, getHeight, getMaxX, getMaxY, getMinX, getMinY, getWidth, getX, getY, intersects, isEmpty, setFrame, setFrame, setFrameFromCenter, setFrameFromCenter, setFrameFromDiagonal, setFrameFromDiagonalpublic static final int OUT_LEFT
outcode(double, double),
Constant Field Valuespublic static final int OUT_TOP
outcode(double, double),
Constant Field Valuespublic static final int OUT_RIGHT
outcode(double, double),
Constant Field Valuespublic static final int OUT_BOTTOM
outcode(double, double),
Constant Field Valuesprotected Rectangle2D()
public abstract void setRect(double x, double y, double w, double h)
x - the new X coordinatey - the new Y coordinatew - the new widthh - the new heightpublic void setRect(Rectangle2D r)
r - rectangle to copyNullPointerException - if r is nullpublic boolean intersectsLine(double x1, double y1, double x2, double y2)
x1 - the first x coordinate of line segmenty1 - the first y coordinate of line segmentx2 - the second x coordinate of line segmenty2 - the second y coordinate of line segmentpublic boolean intersectsLine(Line2D l)
l - the line segmentNullPointerException - if l is nullpublic abstract int outcode(double x, double y)
x - the x coordinate to checky - the y coordinate to checkOUT_LEFT,
OUT_TOP,
OUT_RIGHT,
OUT_BOTTOMpublic int outcode(Point2D p)
p - the point to checkNullPointerException - if p is nullOUT_LEFT,
OUT_TOP,
OUT_RIGHT,
OUT_BOTTOMpublic void setFrame(double x, double y, double w, double h)
setFrame in class RectangularShapex - the new X coordinatey - the new Y coordinatew - the new widthh - the new heightRectangularShape.getFrame()public Rectangle2D getBounds2D()
Shape.getBounds()public boolean contains(double x, double y)
x - the x coordinate of the pointy - the y coordinate of the pointpublic boolean intersects(double x, double y, double w, double h)
x - the x coordinate of the other rectangley - the y coordinate of the other rectanglew - the width of the other rectangleh - the height of the other rectangleAreapublic boolean contains(double x, double y, double w, double h)
x - the x coordinate of the other rectangley - the y coordinate of the other rectanglew - the width of the other rectangleh - the height of the other rectangleAreapublic abstract Rectangle2D createIntersection(Rectangle2D r)
r - the rectangle to be intersectedNullPointerException - if r is nullpublic static void intersect(Rectangle2D src1, Rectangle2D src2, Rectangle2D dest)
src1 - the first sourcesrc2 - the second sourcedest - the destination for the intersectionNullPointerException - if any rectangle is nullpublic abstract Rectangle2D createUnion(Rectangle2D r)
r - the rectangle to be mergedNullPointerException - if r is nullpublic static void union(Rectangle2D src1, Rectangle2D src2, Rectangle2D dest)
src1 - the first sourcesrc2 - the second sourcedest - the destination for the unionNullPointerException - if any rectangle is nullpublic void add(double newx, double newy)
contains may
return false.newx - the X coordinate of the point to add to this rectanglenewy - the Y coordinate of the point to add to this rectanglepublic void add(Point2D p)
contains may
return false.p - the point to add to this rectangleNullPointerException - if p is nullpublic void add(Rectangle2D r)
r - the rectangle to add to this rectangleNullPointerException - if r is nullunion(Rectangle2D, Rectangle2D, Rectangle2D)public PathIterator getPathIterator(AffineTransform at)
at - an optional transform to apply to the iteratorpublic PathIterator getPathIterator(AffineTransform at, double flatness)
getPathIterator in interface ShapegetPathIterator in class RectangularShapeat - an optional transform to apply to the iteratorflatness - the maximum distance for deviation from the real boundarypublic int hashCode()
long l = Double.doubleToLongBits(getX()) + 37 * Double.doubleToLongBits(getY()) + 43 * Double.doubleToLongBits(getWidth()) + 47 * Double.doubleToLongBits(getHeight()); return (int) ((l >> 32) ^ l);
hashCode in class ObjectObject.equals(Object),
System.identityHashCode(Object)public boolean equals(Object obj)
equals in class Objectobj - the object to test against for equalityObject.hashCode()