- java.lang.Object
-
- java.awt.geom.RectangularShape
-
- java.awt.geom.Rectangle2D
-
- java.awt.Rectangle
-
- All Implemented Interfaces:
Shape
,Serializable
,Cloneable
- Direct Known Subclasses:
DefaultCaret
public class Rectangle extends Rectangle2D implements Shape, Serializable
ARectangle
specifies an area in a coordinate space that is enclosed by theRectangle
object's upper-left point(x,y)
in the coordinate space, its width, and its height.A
Rectangle
object'swidth
andheight
arepublic
fields. The constructors that create aRectangle
, and the methods that can modify one, do not prevent setting a negative value for width or height.A
Rectangle
whose width or height is exactly zero has location along those axes with zero dimension, but is otherwise considered empty. TheisEmpty()
method will return true for such aRectangle
. Methods which test if an emptyRectangle
contains or intersects a point or rectangle will always return false if either dimension is zero. Methods which combine such aRectangle
with a point or rectangle will include the location of theRectangle
on that axis in the result as if theadd(Point)
method were being called.Methods which affect only the location of a
Rectangle
will operate on its location regardless of whether or not it has a negative or zero dimension along either axis.Note that a
Rectangle
constructed with the default no-argument constructor will have dimensions of0x0
and therefore be empty. ThatRectangle
will still have a location of(0,0)
and will contribute that location to the union and add operations. Code attempting to accumulate the bounds of a set of points should therefore initially construct theRectangle
with a specifically negative width and height or it should use the first point in the set to construct theRectangle
. For example:
or if we know that the points array contains at least one point:Rectangle bounds = new Rectangle(0, 0, -1, -1); for (int i = 0; i < points.length; i++) { bounds.add(points[i]); }
Rectangle bounds = new Rectangle(points[0]); for (int i = 1; i < points.length; i++) { bounds.add(points[i]); }
This class uses 32-bit integers to store its location and dimensions. Frequently operations may produce a result that exceeds the range of a 32-bit integer. The methods will calculate their results in a way that avoids any 32-bit overflow for intermediate results and then choose the best representation to store the final results back into the 32-bit fields which hold the location and dimensions. The location of the result will be stored into the
x
andy
fields by clipping the true result to the nearest 32-bit value. The values stored into thewidth
andheight
dimension fields will be chosen as the 32-bit values that encompass the largest part of the true result as possible. Generally this means that the dimension will be clipped independently to the range of 32-bit integers except that if the location had to be moved to store it into its pair of 32-bit fields then the dimensions will be adjusted relative to the "best representation" of the location. If the true result had a negative dimension and was therefore non-existent along one or both axes, the stored dimensions will be negative numbers in those axes. If the true result had a location that could be represented within the range of 32-bit integers, but zero dimension along one or both axes, then the stored dimensions will be zero in those axes.- Since:
- 1.0
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class java.awt.geom.Rectangle2D
Rectangle2D.Double, Rectangle2D.Float
-
-
Field Summary
Fields Modifier and Type Field Description int
height
The height of theRectangle
.int
width
The width of theRectangle
.int
x
The X coordinate of the upper-left corner of theRectangle
.int
y
The Y coordinate of the upper-left corner of theRectangle
.-
Fields inherited from class java.awt.geom.Rectangle2D
OUT_BOTTOM, OUT_LEFT, OUT_RIGHT, OUT_TOP
-
-
Constructor Summary
Constructors Constructor Description Rectangle()
Constructs a newRectangle
whose upper-left corner is at (0, 0) in the coordinate space, and whose width and height are both zero.Rectangle(int width, int height)
Constructs a newRectangle
whose upper-left corner is at (0, 0) in the coordinate space, and whose width and height are specified by the arguments of the same name.Rectangle(int x, int y, int width, int height)
Constructs a newRectangle
whose upper-left corner is specified as(x,y)
and whose width and height are specified by the arguments of the same name.Rectangle(Dimension d)
Constructs a newRectangle
whose top left corner is (0, 0) and whose width and height are specified by theDimension
argument.Rectangle(Point p)
Constructs a newRectangle
whose upper-left corner is the specifiedPoint
, and whose width and height are both zero.Rectangle(Point p, Dimension d)
Rectangle(Rectangle r)
Constructs a newRectangle
, initialized to match the values of the specifiedRectangle
.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
add(int newx, int newy)
Adds a point, specified by the integer argumentsnewx,newy
to the bounds of thisRectangle
.void
add(Point pt)
Adds the specifiedPoint
to the bounds of thisRectangle
.void
add(Rectangle r)
Adds aRectangle
to thisRectangle
.boolean
contains(int x, int y)
Checks whether or not thisRectangle
contains the point at the specified location(x,y)
.boolean
contains(int X, int Y, int W, int H)
Checks whether thisRectangle
entirely contains theRectangle
at the specified location(X,Y)
with the specified dimensions(W,H)
.boolean
contains(Point p)
Checks whether or not thisRectangle
contains the specifiedPoint
.boolean
contains(Rectangle r)
Checks whether or not thisRectangle
entirely contains the specifiedRectangle
.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
.boolean
equals(Object obj)
Checks whether two rectangles are equal.Rectangle
getBounds()
Gets the boundingRectangle
of thisRectangle
.Rectangle2D
getBounds2D()
Returns a high precision and more accurate bounding box of theShape
than thegetBounds
method.double
getHeight()
Returns the height of the boundingRectangle
indouble
precision.Point
getLocation()
Returns the location of thisRectangle
.Dimension
getSize()
Gets the size of thisRectangle
, represented by the returnedDimension
.double
getWidth()
Returns the width of the boundingRectangle
indouble
precision.double
getX()
Returns the X coordinate of the boundingRectangle
indouble
precision.double
getY()
Returns the Y coordinate of the boundingRectangle
indouble
precision.void
grow(int h, int v)
Resizes theRectangle
both horizontally and vertically.boolean
inside(int X, int Y)
Deprecated.As of JDK version 1.1, replaced bycontains(int, int)
.Rectangle
intersection(Rectangle r)
Computes the intersection of thisRectangle
with the specifiedRectangle
.boolean
intersects(Rectangle r)
Determines whether or not thisRectangle
and the specifiedRectangle
intersect.boolean
isEmpty()
Determines whether theRectangularShape
is empty.void
move(int x, int y)
Deprecated.As of JDK version 1.1, replaced bysetLocation(int, int)
.int
outcode(double x, double y)
Determines where the specified coordinates lie with respect to thisRectangle2D
.void
reshape(int x, int y, int width, int height)
Deprecated.As of JDK version 1.1, replaced bysetBounds(int, int, int, int)
.void
resize(int width, int height)
Deprecated.As of JDK version 1.1, replaced bysetSize(int, int)
.void
setBounds(int x, int y, int width, int height)
Sets the boundingRectangle
of thisRectangle
to the specifiedx
,y
,width
, andheight
.void
setBounds(Rectangle r)
Sets the boundingRectangle
of thisRectangle
to match the specifiedRectangle
.void
setLocation(int x, int y)
Moves thisRectangle
to the specified location.void
setLocation(Point p)
Moves thisRectangle
to the specified location.void
setRect(double x, double y, double width, double height)
Sets the bounds of thisRectangle
to the integer bounds which encompass the specifiedx
,y
,width
, andheight
.void
setSize(int width, int height)
Sets the size of thisRectangle
to the specified width and height.void
setSize(Dimension d)
Sets the size of thisRectangle
to match the specifiedDimension
.String
toString()
Returns aString
representing thisRectangle
and its values.void
translate(int dx, int dy)
Translates thisRectangle
the indicated distance, to the right along the X coordinate axis, and downward along the Y coordinate axis.Rectangle
union(Rectangle r)
Computes the union of thisRectangle
with the specifiedRectangle
.-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from class java.awt.geom.Rectangle2D
add, add, add, contains, contains, getPathIterator, getPathIterator, hashCode, intersect, intersects, intersectsLine, intersectsLine, outcode, setFrame, setRect, union
-
Methods inherited from class java.awt.geom.RectangularShape
clone, contains, contains, getCenterX, getCenterY, getFrame, getMaxX, getMaxY, getMinX, getMinY, intersects, setFrame, setFrame, setFrameFromCenter, setFrameFromCenter, setFrameFromDiagonal, setFrameFromDiagonal
-
Methods inherited from interface java.awt.Shape
contains, contains, contains, contains, getPathIterator, getPathIterator, intersects, intersects
-
-
-
-
Field Detail
-
x
public int x
The X coordinate of the upper-left corner of theRectangle
.- Since:
- 1.0
- See Also:
setLocation(int, int)
,getLocation()
-
y
public int y
The Y coordinate of the upper-left corner of theRectangle
.- Since:
- 1.0
- See Also:
setLocation(int, int)
,getLocation()
-
width
public int width
The width of theRectangle
.- Since:
- 1.0
- See Also:
setSize(int, int)
,getSize()
-
height
public int height
The height of theRectangle
.- Since:
- 1.0
- See Also:
setSize(int, int)
,getSize()
-
-
Constructor Detail
-
Rectangle
public Rectangle()
Constructs a newRectangle
whose upper-left corner is at (0, 0) in the coordinate space, and whose width and height are both zero.
-
Rectangle
public Rectangle(Rectangle r)
Constructs a newRectangle
, initialized to match the values of the specifiedRectangle
.- Parameters:
r
- theRectangle
from which to copy initial values to a newly constructedRectangle
- Since:
- 1.1
-
Rectangle
public Rectangle(int x, int y, int width, int height)
Constructs a newRectangle
whose upper-left corner is specified as(x,y)
and whose width and height are specified by the arguments of the same name.- Parameters:
x
- the specified X coordinatey
- the specified Y coordinatewidth
- the width of theRectangle
height
- the height of theRectangle
- Since:
- 1.0
-
Rectangle
public Rectangle(int width, int height)
Constructs a newRectangle
whose upper-left corner is at (0, 0) in the coordinate space, and whose width and height are specified by the arguments of the same name.- Parameters:
width
- the width of theRectangle
height
- the height of theRectangle
-
Rectangle
public Rectangle(Point p, Dimension d)
Constructs a newRectangle
whose upper-left corner is specified by thePoint
argument, and whose width and height are specified by theDimension
argument.- Parameters:
p
- aPoint
that is the upper-left corner of theRectangle
d
- aDimension
, representing the width and height of theRectangle
-
Rectangle
public Rectangle(Point p)
Constructs a newRectangle
whose upper-left corner is the specifiedPoint
, and whose width and height are both zero.- Parameters:
p
- aPoint
that is the top left corner of theRectangle
-
Rectangle
public Rectangle(Dimension d)
Constructs a newRectangle
whose top left corner is (0, 0) and whose width and height are specified by theDimension
argument.- Parameters:
d
- aDimension
, specifying width and height
-
-
Method Detail
-
getX
public double getX()
Returns the X coordinate of the boundingRectangle
indouble
precision.- Specified by:
getX
in classRectangularShape
- Returns:
- the X coordinate of the bounding
Rectangle
.
-
getY
public double getY()
Returns the Y coordinate of the boundingRectangle
indouble
precision.- Specified by:
getY
in classRectangularShape
- Returns:
- the Y coordinate of the bounding
Rectangle
.
-
getWidth
public double getWidth()
Returns the width of the boundingRectangle
indouble
precision.- Specified by:
getWidth
in classRectangularShape
- Returns:
- the width of the bounding
Rectangle
.
-
getHeight
public double getHeight()
Returns the height of the boundingRectangle
indouble
precision.- Specified by:
getHeight
in classRectangularShape
- Returns:
- the height of the bounding
Rectangle
.
-
getBounds
public Rectangle getBounds()
Gets the boundingRectangle
of thisRectangle
.This method is included for completeness, to parallel the
getBounds
method ofComponent
.- Specified by:
getBounds
in interfaceShape
- Overrides:
getBounds
in classRectangularShape
- Returns:
- a new
Rectangle
, equal to the boundingRectangle
for thisRectangle
. - Since:
- 1.1
- See Also:
Component.getBounds()
,setBounds(Rectangle)
,setBounds(int, int, int, int)
-
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()
-
setBounds
public void setBounds(Rectangle r)
Sets the boundingRectangle
of thisRectangle
to match the specifiedRectangle
.This method is included for completeness, to parallel the
setBounds
method ofComponent
.- Parameters:
r
- the specifiedRectangle
- Since:
- 1.1
- See Also:
getBounds()
,Component.setBounds(java.awt.Rectangle)
-
setBounds
public void setBounds(int x, int y, int width, int height)
Sets the boundingRectangle
of thisRectangle
to the specifiedx
,y
,width
, andheight
.This method is included for completeness, to parallel the
setBounds
method ofComponent
.- Parameters:
x
- the new X coordinate for the upper-left corner of thisRectangle
y
- the new Y coordinate for the upper-left corner of thisRectangle
width
- the new width for thisRectangle
height
- the new height for thisRectangle
- Since:
- 1.1
- See Also:
getBounds()
,Component.setBounds(int, int, int, int)
-
setRect
public void setRect(double x, double y, double width, double height)
Sets the bounds of thisRectangle
to the integer bounds which encompass the specifiedx
,y
,width
, andheight
. If the parameters specify aRectangle
that exceeds the maximum range of integers, the result will be the best representation of the specifiedRectangle
intersected with the maximum integer bounds.- Specified by:
setRect
in classRectangle2D
- Parameters:
x
- the X coordinate of the upper-left corner of the specified rectangley
- the Y coordinate of the upper-left corner of the specified rectanglewidth
- the width of the specified rectangleheight
- the new height of the specified rectangle
-
reshape
@Deprecated public void reshape(int x, int y, int width, int height)
Deprecated. As of JDK version 1.1, replaced bysetBounds(int, int, int, int)
.Sets the boundingRectangle
of thisRectangle
to the specifiedx
,y
,width
, andheight
.- Parameters:
x
- the new X coordinate for the upper-left corner of thisRectangle
y
- the new Y coordinate for the upper-left corner of thisRectangle
width
- the new width for thisRectangle
height
- the new height for thisRectangle
-
getLocation
public Point getLocation()
Returns the location of thisRectangle
.This method is included for completeness, to parallel the
getLocation
method ofComponent
.- Returns:
- the
Point
that is the upper-left corner of thisRectangle
. - Since:
- 1.1
- See Also:
Component.getLocation()
,setLocation(Point)
,setLocation(int, int)
-
setLocation
public void setLocation(Point p)
Moves thisRectangle
to the specified location.This method is included for completeness, to parallel the
setLocation
method ofComponent
.- Parameters:
p
- thePoint
specifying the new location for thisRectangle
- Since:
- 1.1
- See Also:
Component.setLocation(java.awt.Point)
,getLocation()
-
setLocation
public void setLocation(int x, int y)
Moves thisRectangle
to the specified location.This method is included for completeness, to parallel the
setLocation
method ofComponent
.- Parameters:
x
- the X coordinate of the new locationy
- the Y coordinate of the new location- Since:
- 1.1
- See Also:
getLocation()
,Component.setLocation(int, int)
-
move
@Deprecated public void move(int x, int y)
Deprecated. As of JDK version 1.1, replaced bysetLocation(int, int)
.Moves thisRectangle
to the specified location.- Parameters:
x
- the X coordinate of the new locationy
- the Y coordinate of the new location
-
translate
public void translate(int dx, int dy)
Translates thisRectangle
the indicated distance, to the right along the X coordinate axis, and downward along the Y coordinate axis.- Parameters:
dx
- the distance to move thisRectangle
along the X axisdy
- the distance to move thisRectangle
along the Y axis- See Also:
setLocation(int, int)
,setLocation(java.awt.Point)
-
getSize
public Dimension getSize()
Gets the size of thisRectangle
, represented by the returnedDimension
.This method is included for completeness, to parallel the
getSize
method ofComponent
.- Returns:
- a
Dimension
, representing the size of thisRectangle
. - Since:
- 1.1
- See Also:
Component.getSize()
,setSize(Dimension)
,setSize(int, int)
-
setSize
public void setSize(Dimension d)
Sets the size of thisRectangle
to match the specifiedDimension
.This method is included for completeness, to parallel the
setSize
method ofComponent
.- Parameters:
d
- the new size for theDimension
object- Since:
- 1.1
- See Also:
Component.setSize(java.awt.Dimension)
,getSize()
-
setSize
public void setSize(int width, int height)
Sets the size of thisRectangle
to the specified width and height.This method is included for completeness, to parallel the
setSize
method ofComponent
.- Parameters:
width
- the new width for thisRectangle
height
- the new height for thisRectangle
- Since:
- 1.1
- See Also:
Component.setSize(int, int)
,getSize()
-
resize
@Deprecated public void resize(int width, int height)
Deprecated. As of JDK version 1.1, replaced bysetSize(int, int)
.Sets the size of thisRectangle
to the specified width and height.- Parameters:
width
- the new width for thisRectangle
height
- the new height for thisRectangle
-
contains
public boolean contains(Point p)
Checks whether or not thisRectangle
contains the specifiedPoint
.- Parameters:
p
- thePoint
to test- Returns:
true
if the specifiedPoint
is inside thisRectangle
;false
otherwise.- Since:
- 1.1
-
contains
public boolean contains(int x, int y)
Checks whether or not thisRectangle
contains the point at the specified location(x,y)
.- Parameters:
x
- the specified X coordinatey
- the specified Y coordinate- Returns:
true
if the point(x,y)
is inside thisRectangle
;false
otherwise.- Since:
- 1.1
-
contains
public boolean contains(Rectangle r)
Checks whether or not thisRectangle
entirely contains the specifiedRectangle
.- Parameters:
r
- the specifiedRectangle
- Returns:
true
if theRectangle
is contained entirely inside thisRectangle
;false
otherwise- Since:
- 1.2
-
contains
public boolean contains(int X, int Y, int W, int H)
Checks whether thisRectangle
entirely contains theRectangle
at the specified location(X,Y)
with the specified dimensions(W,H)
.- Parameters:
X
- the specified X coordinateY
- the specified Y coordinateW
- the width of theRectangle
H
- the height of theRectangle
- Returns:
true
if theRectangle
specified by(X, Y, W, H)
is entirely enclosed inside thisRectangle
;false
otherwise.- Since:
- 1.1
-
inside
@Deprecated public boolean inside(int X, int Y)
Deprecated. As of JDK version 1.1, replaced bycontains(int, int)
.Checks whether or not thisRectangle
contains the point at the specified location(X,Y)
.- Parameters:
X
- the specified X coordinateY
- the specified Y coordinate- Returns:
true
if the point(X,Y)
is inside thisRectangle
;false
otherwise.
-
intersects
public boolean intersects(Rectangle r)
Determines whether or not thisRectangle
and the specifiedRectangle
intersect. Two rectangles intersect if their intersection is nonempty.- Parameters:
r
- the specifiedRectangle
- Returns:
true
if the specifiedRectangle
and thisRectangle
intersect;false
otherwise.
-
intersection
public Rectangle intersection(Rectangle r)
Computes the intersection of thisRectangle
with the specifiedRectangle
. Returns a newRectangle
that represents the intersection of the two rectangles. If the two rectangles do not intersect, the result will be an empty rectangle.- Parameters:
r
- the specifiedRectangle
- Returns:
- the largest
Rectangle
contained in both the specifiedRectangle
and in thisRectangle
; or if the rectangles do not intersect, an empty rectangle.
-
union
public Rectangle union(Rectangle r)
Computes the union of thisRectangle
with the specifiedRectangle
. Returns a newRectangle
that represents the union of the two rectangles.If either
Rectangle
has any dimension less than zero the rules for non-existent rectangles apply. If only one has a dimension less than zero, then the result will be a copy of the otherRectangle
. If both have dimension less than zero, then the result will have at least one dimension less than zero.If the resulting
Rectangle
would have a dimension too large to be expressed as anint
, the result will have a dimension ofInteger.MAX_VALUE
along that dimension.- Parameters:
r
- the specifiedRectangle
- Returns:
- the smallest
Rectangle
containing both the specifiedRectangle
and thisRectangle
.
-
add
public void add(int newx, int newy)
Adds a point, specified by the integer argumentsnewx,newy
to the bounds of thisRectangle
.If this
Rectangle
has any dimension less than zero, the rules for non-existent rectangles apply. In that case, the new bounds of thisRectangle
will have a location equal to the specified coordinates and width and height equal to zero.After adding a point, a call to
contains
with the added point as an argument does not necessarily returntrue
. Thecontains
method does not returntrue
for points on the right or bottom edges of aRectangle
. Therefore, if the added point falls on the right or bottom edge of the enlargedRectangle
,contains
returnsfalse
for that point. If the specified point must be contained within the newRectangle
, a 1x1 rectangle should be added instead:r.add(newx, newy, 1, 1);
- Parameters:
newx
- the X coordinate of the new pointnewy
- the Y coordinate of the new point
-
add
public void add(Point pt)
Adds the specifiedPoint
to the bounds of thisRectangle
.If this
Rectangle
has any dimension less than zero, the rules for non-existent rectangles apply. In that case, the new bounds of thisRectangle
will have a location equal to the coordinates of the specifiedPoint
and width and height equal to zero.After adding a
Point
, a call tocontains
with the addedPoint
as an argument does not necessarily returntrue
. Thecontains
method does not returntrue
for points on the right or bottom edges of aRectangle
. Therefore if the addedPoint
falls on the right or bottom edge of the enlargedRectangle
,contains
returnsfalse
for thatPoint
. If the specified point must be contained within the newRectangle
, a 1x1 rectangle should be added instead:r.add(pt.x, pt.y, 1, 1);
- Parameters:
pt
- the newPoint
to add to thisRectangle
-
add
public void add(Rectangle r)
Adds aRectangle
to thisRectangle
. The resultingRectangle
is the union of the two rectangles.If either
Rectangle
has any dimension less than 0, the result will have the dimensions of the otherRectangle
. If bothRectangle
s have at least one dimension less than 0, the result will have at least one dimension less than 0.If either
Rectangle
has one or both dimensions equal to 0, the result along those axes with 0 dimensions will be equivalent to the results obtained by adding the corresponding origin coordinate to the result rectangle along that axis, similar to the operation of theadd(Point)
method, but contribute no further dimension beyond that.If the resulting
Rectangle
would have a dimension too large to be expressed as anint
, the result will have a dimension ofInteger.MAX_VALUE
along that dimension.- Parameters:
r
- the specifiedRectangle
-
grow
public void grow(int h, int v)
Resizes theRectangle
both horizontally and vertically.This method modifies the
Rectangle
so that it ish
units larger on both the left and right side, andv
units larger at both the top and bottom.The new
Rectangle
has(x - h, y - v)
as its upper-left corner, width of(width + 2h)
, and a height of(height + 2v)
.If negative values are supplied for
h
andv
, the size of theRectangle
decreases accordingly. Thegrow
method will check for integer overflow and underflow, but does not check whether the resulting values ofwidth
andheight
grow from negative to non-negative or shrink from non-negative to negative.- Parameters:
h
- the horizontal expansionv
- the vertical expansion
-
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
-
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
-
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
-
equals
public boolean equals(Object obj)
Checks whether two rectangles are equal.The result is
true
if and only if the argument is notnull
and is aRectangle
object that has the same upper-left corner, width, and height as thisRectangle
.- Overrides:
equals
in classRectangle2D
- Parameters:
obj
- theObject
to compare with thisRectangle
- Returns:
true
if the objects are equal;false
otherwise.- See Also:
Object.hashCode()
,HashMap
-
-