public class Rectangle extends Object implements Shape, Serializable, Cloneable
Rectangle
specifies an area in a coordinate space that is
enclosed by the Rectangle
object's top-left point
(x, y)
in the coordinate space, its width, and its height.
A Rectangle
object's width
and
height
are public
fields. The constructors
that create a Rectangle
, 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 negative is considered
empty. If the Rectangle
is empty, then the
isEmpty
method returns true
. No point can be
contained by or inside an empty Rectangle
. The
values of width
and height
, however, are still
valid. An empty Rectangle
still has a location in the
coordinate space, and methods that change its size or location remain
valid. The behavior of methods that operate on more than one
Rectangle
is undefined if any of the participating
Rectangle
objects has a negative
width
or height
. These methods include
intersects
, intersection
, and
union
.
Modifier and Type | Field and Description |
---|---|
int |
height
The height of the
Rectangle . |
int |
width
The width of the
Rectangle . |
int |
x
The x coordinate of the
Rectangle . |
int |
y
The y coordinate of the
Rectangle . |
Constructor and Description |
---|
Rectangle()
Constructs a new
Rectangle whose top-left corner
is at (0, 0) in the coordinate space, and whose width and
height are both zero. |
Rectangle(Dimension d)
Constructs a new
Rectangle whose top left corner is
(0, 0) and whose width and height are specified
by the Dimension argument. |
Rectangle(int width,
int height)
Constructs a new
Rectangle whose top-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 new
Rectangle whose top-left corner is
specified as
(x , y ) and whose width and height
are specified by the arguments of the same name. |
Rectangle(Point p)
Constructs a new
Rectangle whose top-left corner is the
specified Point , and whose width and height are both zero. |
Rectangle(Point p,
Dimension d)
|
Rectangle(Rectangle r)
Constructs a new
Rectangle , initialized to match
the values of the specified Rectangle . |
Modifier and Type | Method and Description |
---|---|
void |
add(int newx,
int newy)
Adds a point, specified by the integer arguments
newx
and newy , to this Rectangle . |
void |
add(Point pt)
Adds the specified
Point to this
Rectangle . |
void |
add(Rectangle r)
Adds a
Rectangle to this Rectangle . |
Object |
clone()
Creates a new object of the same class and with the same
contents as this object.
|
boolean |
contains(int x,
int y)
Checks whether or not this
Rectangle contains the
point at the specified location
(x, y). |
boolean |
contains(int X,
int Y,
int W,
int H)
Checks whether this
Rectangle entirely contains
the Rectangle
at the specified location (X, Y) with the
specified dimensions (W, H). |
boolean |
contains(Point p)
Checks whether or not this
Rectangle contains the
specified Point . |
boolean |
contains(Rectangle r)
Checks whether or not this
Rectangle entirely contains
the specified Rectangle . |
boolean |
equals(Object obj)
Checks whether two rectangles are equal.
|
Rectangle |
getBounds()
Gets the bounding
Rectangle of this Rectangle . |
Point |
getLocation()
Returns the location of this
Rectangle . |
Dimension |
getSize()
Gets the size of this
Rectangle , represented by
the returned Dimension . |
void |
grow(int h,
int v)
Resizes the
Rectangle both horizontally and vertically. |
int |
hashCode()
Returns the hashcode for this
Rectangle . |
Rectangle |
intersection(Rectangle r)
Computes the intersection of this
Rectangle with the
specified Rectangle . |
boolean |
intersects(Rectangle r)
Determines whether or not this
Rectangle and the specified
Rectangle intersect. |
boolean |
isEmpty()
Determines whether or not this
Rectangle is empty. |
void |
setBounds(int x,
int y,
int width,
int height)
Sets the bounding
Rectangle of this
Rectangle to the specified
x , y , width ,
and height . |
void |
setBounds(Rectangle r)
Sets the bounding
Rectangle of this Rectangle
to match the specified Rectangle . |
void |
setLocation(int x,
int y)
Moves this
Rectangle to the specified location. |
void |
setLocation(Point p)
Moves this
Rectangle to the specified location. |
void |
setSize(Dimension d)
Sets the size of this
Rectangle to match the
specified Dimension . |
void |
setSize(int width,
int height)
Sets the size of this
Rectangle to the specified
width and height. |
String |
toString()
Returns a
String representing this
Rectangle and its values. |
void |
translate(int x,
int y)
Translates this
Rectangle 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 this
Rectangle with the
specified Rectangle . |
public int x
Rectangle
.setLocation(int, int)
,
getLocation()
public int y
Rectangle
.setLocation(int, int)
,
getLocation()
public int width
Rectangle
.setSize(int, int)
,
getSize()
public int height
Rectangle
.setSize(int, int)
,
getSize()
public Rectangle()
Rectangle
whose top-left corner
is at (0, 0) in the coordinate space, and whose width and
height are both zero.public Rectangle(Rectangle r)
Rectangle
, initialized to match
the values of the specified Rectangle
.r
- the Rectangle
from which to copy initial values
to a newly constructed Rectangle
public Rectangle(int x, int y, int width, int height)
Rectangle
whose top-left corner is
specified as
(x
, y
) and whose width and height
are specified by the arguments of the same name.x
- the specified x coordinatey
- the specified y coordinatewidth
- the width of the Rectangle
height
- the height of the Rectangle
public Rectangle(int width, int height)
Rectangle
whose top-left corner
is at (0, 0) in the coordinate space, and whose width and
height are specified by the arguments of the same name.width
- the width of the Rectangle
height
- the height of the Rectangle
public Rectangle(Point p, Dimension d)
Rectangle
whose top-left corner is
specified by the Point
argument, and
whose width and height are specified by the
Dimension
argument.p
- a Point
that is the top-left corner of
the Rectangle
d
- a Dimension
, representing the
width and height of the Rectangle
public Rectangle(Point p)
Rectangle
whose top-left corner is the
specified Point
, and whose width and height are both zero.p
- a Point
that is the top left corner
of the Rectangle
public Rectangle(Dimension d)
Rectangle
whose top left corner is
(0, 0) and whose width and height are specified
by the Dimension
argument.d
- a Dimension
, specifying width and heightpublic Rectangle getBounds()
Rectangle
of this Rectangle
.
This method is included for completeness, to parallel the
getBounds
method of
Component
.
getBounds
in interface Shape
Rectangle
, equal to the
bounding Rectangle
for this Rectangle
.Component.getBounds()
,
setBounds(Rectangle)
,
setBounds(int, int, int, int)
public void setBounds(Rectangle r)
Rectangle
of this Rectangle
to match the specified Rectangle
.
This method is included for completeness, to parallel the
setBounds
method of Component
.
r
- the specified Rectangle
getBounds()
,
Component.setBounds(java.awt.Rectangle)
public void setBounds(int x, int y, int width, int height)
Rectangle
of this
Rectangle
to the specified
x
, y
, width
,
and height
.
This method is included for completeness, to parallel the
setBounds
method of Component
.
x
- the new x coordinate for the top-left
corner of this Rectangle
y
- the new y coordinate for the top-left
corner of this Rectangle
width
- the new width for this Rectangle
height
- the new height for this Rectangle
getBounds()
,
Component.setBounds(int, int, int, int)
public Point getLocation()
Rectangle
.
This method is included for completeness, to parallel the
getLocation
method of Component
.
Point
that is the top-left corner of
this Rectangle
.Component.getLocation()
,
setLocation(Point)
,
setLocation(int, int)
public void setLocation(Point p)
Rectangle
to the specified location.
This method is included for completeness, to parallel the
setLocation
method of Component
.
p
- the Point
specifying the new location
for this Rectangle
Component.setLocation(java.awt.Point)
,
getLocation()
public void setLocation(int x, int y)
Rectangle
to the specified location.
This method is included for completeness, to parallel the
setLocation
method of Component
.
x
- the x coordinate of the new locationy
- the y coordinate of the new locationgetLocation()
,
Component.setLocation(int, int)
public void translate(int x, int y)
Rectangle
the indicated distance,
to the right along the x coordinate axis, and
downward along the y coordinate axis.x
- the distance to move this Rectangle
along the x axisy
- the distance to move this Rectangle
along the y axissetLocation(int, int)
,
setLocation(java.awt.Point)
public Dimension getSize()
Rectangle
, represented by
the returned Dimension
.
This method is included for completeness, to parallel the
getSize
method of Component
.
Dimension
, representing the size of
this Rectangle
.Component.getSize()
,
setSize(Dimension)
,
setSize(int, int)
public void setSize(Dimension d)
Rectangle
to match the
specified Dimension
.
This method is included for completeness, to parallel the
setSize
method of Component
.
d
- the new size for the Dimension
objectComponent.setSize(java.awt.Dimension)
,
getSize()
public void setSize(int width, int height)
Rectangle
to the specified
width and height.
This method is included for completeness, to parallel the
setSize
method of Component
.
width
- the new width for this Rectangle
height
- the new height for this Rectangle
Component.setSize(int, int)
,
getSize()
public boolean contains(Point p)
Rectangle
contains the
specified Point
.p
- the Point
to testtrue
if the Point
(x, y) is inside this
Rectangle
;
false
otherwise.public boolean contains(int x, int y)
Rectangle
contains the
point at the specified location
(x, y).x
- the specified x coordinatey
- the specified y coordinatetrue
if the point
(x, y) is inside this
Rectangle
;
false
otherwise.public boolean contains(Rectangle r)
Rectangle
entirely contains
the specified Rectangle
.r
- the specified Rectangle
true
if the Rectangle
is contained entirely inside this Rectangle
;
false
otherwise.public boolean contains(int X, int Y, int W, int H)
Rectangle
entirely contains
the Rectangle
at the specified location (X, Y) with the
specified dimensions (W, H).X
- the specified x coordinateY
- the specified y coordinateW
- the width of the Rectangle
H
- the height of the Rectangle
true
if the Rectangle
specified by
(X, Y, W, H)
is entirely enclosed inside this Rectangle
;
false
otherwise.public boolean intersects(Rectangle r)
Rectangle
and the specified
Rectangle
intersect. Two rectangles intersect if
their intersection is nonempty.r
- the specified Rectangle
true
if the specified Rectangle
and this Rectangle
intersect;
false
otherwise.public Rectangle intersection(Rectangle r)
Rectangle
with the
specified Rectangle
. Returns a new Rectangle
that represents the intersection of the two rectangles.
If the two rectangles do not intersect, the result will be
an empty rectangle.r
- the specified Rectangle
Rectangle
contained in both the
specified Rectangle
and in
this Rectangle
; or if the rectangles
do not intersect, an empty rectangle.public Rectangle union(Rectangle r)
Rectangle
with the
specified Rectangle
. Returns a new
Rectangle
that
represents the union of the two rectanglesr
- the specified Rectangle
Rectangle
containing both
the specified Rectangle
and this
Rectangle
.public void add(int newx, int newy)
newx
and newy
, to this Rectangle
. The
resulting Rectangle
is
the smallest Rectangle
that contains both the
original Rectangle
and the specified point.
After adding a point, a call to contains
with the
added point as an argument does not necessarily return
true
. The contains
method does not
return true
for points on the right or bottom
edges of a Rectangle
. Therefore, if the added point
falls on the right or bottom edge of the enlarged
Rectangle
, contains
returns
false
for that point.
newx
- the x coordinate of the new pointnewy
- the y coordinate of the new pointpublic void add(Point pt)
Point
to this
Rectangle
. The resulting Rectangle
is the smallest Rectangle
that contains both the
original Rectangle
and the specified
Point
.
After adding a Point
, a call to contains
with the added Point
as an argument does not
necessarily return true
. The contains
method does not return true
for points on the right
or bottom edges of a Rectangle
. Therefore if the added
Point
falls on the right or bottom edge of the
enlarged Rectangle
, contains
returns
false
for that Point
.
pt
- the new Point
to add to this
Rectangle
public void add(Rectangle r)
Rectangle
to this Rectangle
.
The resulting Rectangle
is the union of the two
rectangles.r
- the specified Rectangle
public void grow(int h, int v)
Rectangle
both horizontally and vertically.
This method modifies the Rectangle
so that it is
h
units larger on both the left and right side,
and v
units larger at both the top and bottom.
The new Rectangle
has (x - h
,
y - v
) as its top-left corner, a
width of
width
+
2h
,
and a height of
height
+
2v
.
If negative values are supplied for h
and
v
, the size of the Rectangle
decreases accordingly.
The grow
method does not check whether the resulting
values of width
and height
are
non-negative.
h
- the horizontal expansionv
- the vertical expansionpublic boolean isEmpty()
Rectangle
is empty. A
Rectangle
is empty if its width or its height is less
than or equal to zero.true
if this Rectangle
is empty;
false
otherwise.public boolean equals(Object obj)
The result is true
if and only if the argument is not
null
and is a Rectangle
object that has the
same top-left corner, width, and height as this Rectangle
.
equals
in class Object
obj
- the Object
to compare with
this Rectangle
true
if the objects are equal;
false
otherwise.Object.hashCode()
,
Hashtable
public String toString()
String
representing this
Rectangle
and its values.public Object clone()
clone
in class Object
OutOfMemoryError
- if there is not enough memory.Cloneable
public int hashCode()
Rectangle
.hashCode
in class Object
Rectangle
.Object.equals(java.lang.Object)
,
Hashtable
Copyright © 2013 CableLabs. All Rights Reserved.