Класс Rectangle

Все реализованные интерфейсы:
Shape, Serializable, Cloneable
Прямые известные подклассы:
DefaultCaret
public class Rectangle
extends Rectangle2D
implements Shape, Serializable

Объект типа Rectangle определяет область в системе координат, ограниченную точкой верхнего левого угла объекта Rectangle (x,y) в пространстве координат, его шириной и высотой.

Поля width и height объекта Rectangle являются полями типа public. Конструкторы, создающие объект Rectangle, и методы, которые могут его изменить, не препятствуют установке отрицательного значения для ширины или высоты.

Объект Rectangle с шириной или высотой ровно ноль имеет координаты вдоль соответствующих осей с нулевыми размерами, но при этом считается пустым. Метод isEmpty() вернёт true для такого объекта Rectangle. Методы, проверяющие, содержит ли пустой объект Rectangle точку или прямоугольник, или пересекается ли с ними, всегда возвращают false, если хотя бы один из размеров равен нулю. Методы, объединяющие такой объект Rectangle с точкой или прямоугольником, включат координату объекта Rectangle вдоль этой оси в результат, как будто вызывался метод add(Point).

Объект Rectangle с отрицательной шириной или высотой не имеет координат или размеров вдоль осей с отрицательными размерами. Такой объект Rectangle считается несуществующим вдоль этих осей. Такой объект Rectangle также считается пустым при проверке на вмещение, и методы, проверяющие, содержит ли он или пересекается ли с точкой или прямоугольником, всегда возвращают false. Методы, объединяющие такой объект Rectangle с точкой или прямоугольником, полностью игнорируют объект Rectangle при формировании результата. Если два объекта Rectangle объединяются, и каждый из них имеет отрицательный размер, то результат будет иметь хотя бы один отрицательный размер.

Методы, которые влияют только на положение объекта Rectangle, будут работать с его положением независимо от того, имеет ли он отрицательный или нулевой размер вдоль какой-либо оси.

Обратите внимание, что объект Rectangle, созданный с помощью конструктора по умолчанию без аргументов, будет иметь размеры 0x0 и, следовательно, будет пустым. Такой объект Rectangle по-прежнему будет иметь координаты (0,0) и будет вносить эти координаты в операции объединения и добавления. Поэтому код, пытающийся накапливать границы набора точек, должен первоначально создать объект Rectangle со специально заданными отрицательными шириной и высотой или использовать первую точку в наборе для создания объекта Rectangle. Например:

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]);
     }

Этот класс использует 32-битные целые числа для хранения своего положения и размеров. Часто операции могут давать результат, превышающий диапазон 32-битного целого числа. Методы вычисляют результаты таким образом, чтобы избежать переполнения 32-битных целых чисел для промежуточных результатов, а затем выбирают лучшее представление для хранения окончательных результатов обратно в 32-битные поля, хранящие положение и размеры. Координаты результата будут сохранены в поля x и y путём округления истинного результата до ближайшего 32-битного значения. Значения, хранящиеся в полях width и height, будут выбраны как 32-битные значения, охватывающие наибольшую часть истинного результата. Как правило, это означает, что размеры будут обрезаны независимо до диапазона 32-битных целых чисел, за исключением случая, когда положение пришлось сместить для его хранения в парах 32-битных полей, тогда размеры будут скорректированы относительно «лучшего представления» положения. Если истинный результат имел отрицательный размер и, следовательно, не существовал вдоль одной или обеих осей, хранимые размеры будут отрицательными числами вдоль этих осей. Если истинный результат имел координаты, которые можно было представить в диапазоне 32-битных целых чисел, но имел нулевой размер вдоль одной или обеих осей, то хранимые размеры будут нулевыми вдоль этих осей.

С:
1.0
См. также:
Сериализованная форма

Вложенные классы

Вложенные классы/интерфейсы, объявленные в классе java.awt.geom.Rectangle2D

Rectangle2D.Double, Rectangle2D.Float

Поля

Модификатор и тип Поле Описание
int height

Высота Rectangle.

int width

Ширина Rectangle.

int x

Координата X верхнего левого угла Rectangle.

int y

Координата Y верхнего левого угла Rectangle.

Поля, объявленные в классе java.awt.geom.Rectangle2D

OUT_BOTTOM, OUT_LEFT, OUT_RIGHT, OUT_TOP

Конструкторы

Конструктор Описание
Rectangle()

Создаёт новый объект Rectangle с верхним левым углом в точке (0, 0) в системе координат и шириной и высотой, равными нулю.

Rectangle​(int width, int height)

Создаёт новый объект Rectangle с верхним левым углом в точке (0, 0) в системе координат и заданной шириной и высотой, указанными в аргументах с соответствующими именами.

Rectangle​(int x, int y, int width, int height)

Создаёт новый объект Rectangle с верхним левым углом, заданным как (x,y), и шириной и высотой, заданными в аргументах с соответствующими именами.

Rectangle​(Dimension d)

Создаёт новый объект Rectangle с верхним левым углом в (0, 0) и шириной и высотой, заданными аргументом Dimension.

Rectangle​(Point p)

Создаёт новый объект Rectangle с верхним левым углом, заданным как Point, и шириной и высотой, равными нулю.

Rectangle​(Point p, Dimension d)

Создаёт новый объект Rectangle с верхним левым углом, заданным аргументом Point, и шириной и высотой, заданными аргументом Dimension.

Rectangle​(Rectangle r)

Создаёт новый объект Rectangle, инициализированный с значениями, соответствующими значениям указанного объекта Rectangle.

Методы

Модификатор и тип Метод Описание
void add​(int newx, int newy)

Добавляет точку, заданную целыми аргументами newx,newy к границам этого Rectangle.

void add​(Point pt)

Добавляет указанную Point к границам этого Rectangle.

void add​(Rectangle r)

Добавляет Rectangle к этому Rectangle.

boolean contains​(int x, int y)

Проверяет, содержит ли этот Rectangle точку в указанном месте (x,y).

boolean contains​(int X, int Y, int W, int H)

Проверяет, полностью ли этот Rectangle содержит Rectangle в указанном месте (X,Y) со значениями размеров (W,H).

boolean contains​(Point p)

Проверяет, содержит ли этот Rectangle указанную Point.

boolean contains​(Rectangle r)

Проверяет, полностью ли этот Rectangle содержит указанную Rectangle.

Rectangle2D createIntersection​(Rectangle2D r)

Возвращает новый объект Rectangle2D, представляющий пересечение этого Rectangle2D с указанным Rectangle2D.

Rectangle2D createUnion​(Rectangle2D r)

Возвращает новый объект Rectangle2D, представляющий объединение этого Rectangle2D с указанным Rectangle2D.

boolean equals​(Object obj)

Проверяет, равны ли два прямоугольника.

Rectangle getBounds()

Получает ограничивающую Rectangle этого Rectangle.

Rectangle2D getBounds2D()

Возвращает ограничивающую рамку Shape с большей точностью, чем метод getBounds.

double getHeight()

Возвращает высоту ограничивающей Rectangle в точности double.

Point getLocation()

Возвращает расположение этого Rectangle.

Dimension getSize()

Получает размер этого Rectangle, представленный возвращенным Dimension.

double getWidth()

Возвращает ширину ограничивающей Rectangle в точности double.

double getX()

Возвращает координату X ограничивающей Rectangle в точности double.

double getY()

Возвращает координату Y ограничивающей Rectangle в точности double.

void grow​(int h, int v)

Изменяет размер Rectangle как по горизонтали, так и по вертикали.

boolean inside​(int X, int Y)

Устарело.

Начиная с версии JDK 1.1, заменено на contains(int, int).

Rectangle intersection​(Rectangle r)

Вычисляет пересечение этого Rectangle с указанным Rectangle.

boolean intersects​(Rectangle r)

Определяет, пересекаются ли этот Rectangle и указанный Rectangle.

boolean isEmpty()

Определяет, пуст ли RectangularShape.

void move​(int x, int y)

Устарело.

Начиная с версии JDK 1.1, заменено на setLocation(int, int).

int outcode​(double x, double y)

Определяет, где указанные координаты лежат относительно этого Rectangle2D.

void reshape​(int x, int y, int width, int height)

Устарело.

Начиная с версии JDK 1.1, заменено на setBounds(int, int, int, int).

void resize​(int width, int height)

Устарело.

Начиная с версии JDK 1.1, заменено на setSize(int, int).

void setBounds​(int x, int y, int width, int height)

Устанавливает ограничивающую Rectangle этого Rectangle на указанные x, y, width, и height.

void setBounds​(Rectangle r)

Устанавливает ограничивающую Rectangle этого Rectangle, чтобы она соответствовала указанному Rectangle.

void setLocation​(int x, int y)

Перемещает этот Rectangle в указанное местоположение.

void setLocation​(Point p)

Перемещает этот Rectangle в указанное местоположение.

void setRect​(double x, double y, double width, double height)

Устанавливает границы этого Rectangle в целочисленные границы, которые охватывают указанные x, y, width, и height.

void setSize​(int width, int height)

Устанавливает размер этого Rectangle на указанную ширину и высоту.

void setSize​(Dimension d)

Устанавливает размер этого Rectangle, чтобы он соответствовал указанному Dimension.

String toString()

Возвращает String, представляющий этот Rectangle и его значения.

void translate​(int dx, int dy)

Перемещает этот Rectangle на указанное расстояние вправо по оси X и вниз по оси Y.

Rectangle union​(Rectangle r)

Вычисляет объединение этого Rectangle с указанным Rectangle.

Методы, объявленные в классе java.awt.geom.Rectangle2D

add, add, add, contains, contains, getPathIterator, getPathIterator, hashCode, intersect, intersects, intersectsLine, intersectsLine, outcode, setFrame, setRect, union

Методы, объявленные в классе java.awt.geom.RectangularShape

clone, contains, contains, getCenterX, getCenterY, getFrame, getMaxX, getMaxY, getMinX, getMinY, intersects, setFrame, setFrame, setFrameFromCenter, setFrameFromCenter, setFrameFromDiagonal, setFrameFromDiagonal

Методы, объявленные в классе java.lang.Object

finalize, getClass, notify, notifyAll, wait, wait, wait

Методы, объявленные в интерфейсе java.awt.Shape

contains, contains, contains, contains, getPathIterator, getPathIterator, intersects, intersects

Поля

x

public int x

Координата X левого верхнего угла Rectangle.

Since:
1.0
См. также:
setLocation(int, int), getLocation()

y

public int y

Координата Y левого верхнего угла Rectangle.

Since:
1.0
См. также:
setLocation(int, int), getLocation()

width

public int width

Ширина Rectangle.

Since:
1.0
См. также:
setSize(int, int), getSize()

height

public int height

Высота Rectangle.

Since:
1.0
См. также:
setSize(int, int), getSize()

Конструкторы

Rectangle

public Rectangle()

Создаёт новый Rectangle, чьё левое верхнее расположено в (0, 0) в системе координат, а ширина и высота равны нулю.

Rectangle

public Rectangle(Rectangle r)

Создаёт новый Rectangle, инициализированный значениями, заданными указанным Rectangle.

Параметры:
r - Rectangle, из которого копируются начальные значения в новый Rectangle
Since:
1.1

Rectangle

public Rectangle(int x,
                 int y,
                 int width,
                 int height)

Создаёт новый Rectangle, чьё левое верхнее расположение задаётся значениями (x,y), а ширина и высота задаются аргументами с аналогичными именами.

Параметры:
x - заданная координата X
y - заданная координата Y
width - ширина Rectangle
height - высота Rectangle
Since:
1.0

Rectangle

public Rectangle(int width,
                 int height)

Создаёт новый Rectangle, чьё левое верхнее расположено в (0, 0) в системе координат, а ширина и высота задаются аргументами с аналогичными именами.

Параметры:
width - ширина Rectangle
height - высота Rectangle

Rectangle

public Rectangle(Point p,
                 Dimension d)

Создаёт новый Rectangle, чьё левое верхнее расположение задаётся аргументом Point, а ширина и высота задаются аргументом Dimension.

Параметры:
p - Point, представляющий левый верхний угол Rectangle
d - Dimension, представляющий ширину и высоту Rectangle

Rectangle

public Rectangle(Point p)

Создаёт новый Rectangle, чьё левое верхнее расположение задаётся указанным Point, а ширина и высота равны нулю.

Параметры:
p - Point, представляющий левый верхний угол Rectangle

Rectangle

public Rectangle(Dimension d)

Создаёт новый Rectangle, чьё левое верхнее расположение в (0, 0), а ширина и высота задаются аргументом Dimension.

Параметры:
d - Dimension, задающий ширину и высоту

Методы

getX

public double getX()

Возвращает координату X ограничивающей Rectangle в double точности.

Определено в:
getX в классе RectangularShape
Возвращает:
координату X ограничивающей Rectangle.

getY

public double getY()

Возвращает координату Y ограничивающей Rectangle в double точности.

Определено в:
getY в классе RectangularShape
Возвращает:
координату Y ограничивающей Rectangle.

getWidth

public double getWidth()

Возвращает ширину ограничивающей Rectangle в double точности.

Определено в:
getWidth в классе RectangularShape
Возвращает:
ширину ограничивающей Rectangle.

getHeight

public double getHeight()

Возвращает высоту ограничивающей Rectangle в double точности.

Определено в:
getHeight в классе RectangularShape
Возвращает:
высоту ограничивающей Rectangle.

getBounds

public Rectangle getBounds()

Получает ограничивающую Rectangle этого Rectangle.

Этот метод включён для полноты, чтобы соответствовать методу getBounds у Component.

Определено в:
getBounds в интерфейсе Shape
Переопределяет:
getBounds в классе RectangularShape
Возвращает:
новый Rectangle, равный ограничивающей Rectangle для этого Rectangle.
С:
1.1
См. также:
Component.getBounds(), setBounds(Rectangle), setBounds(int, int, int, int)

getBounds2D

public Rectangle2D getBounds2D()

Возвращает высокоточную и более точную ограничивающую прямоугольную область Shape по сравнению с методом getBounds. Обратите внимание, что нет гарантии, что возвращаемый Rectangle2D является наименьшей ограничивающей прямоугольной областью, охватывающей Shape, только что Shape полностью лежит внутри указанной Rectangle2D. Ограничивающая прямоугольная область, возвращаемая этим методом, обычно уже, чем та, что возвращается методом getBounds, и никогда не выходит из строя из-за переполнения, поскольку возвращаемое значение может быть экземпляром Rectangle2D, который использует значения двойной точности для хранения размеров.

Обратите внимание, что определение принадлежности может привести к ситуациям, когда точки на ограничивающем контуре shape могут не считаться содержащимися в возвращаемом bounds объекте, но только в тех случаях, когда эти точки также не считаются содержащимися в исходном shape.

Если point находится внутри shape в соответствии с методом contains(point), то она должна находиться внутри возвращаемой Rectangle2D ограничивающей прямоугольной области в соответствии с методом contains(point) bounds. Конкретно:

shape.contains(p) требует bounds.contains(p)

Если point не находится внутри shape, то она всё равно может содержаться в bounds объекте:

bounds.contains(p) не подразумевает shape.contains(p)

Определено в:
getBounds2D в интерфейсе Shape
Переопределяет:
getBounds2D в классе Rectangle2D
Возвращает:
экземпляр Rectangle2D, который является высокоточной ограничивающей прямоугольной областью Shape.
С:
1.2
См. также:
Shape.getBounds()

setBounds

public void setBounds(Rectangle r)

Устанавливает ограничивающую Rectangle этого Rectangle в соответствии с указанной Rectangle.

Этот метод включён для полноты, чтобы соответствовать методу setBounds у Component.

Параметры:
r - указанная Rectangle
С:
1.1
См. также:
getBounds(), Component.setBounds(java.awt.Rectangle)

setBounds

public void setBounds(int x,
                      int y,
                      int width,
                      int height)

Устанавливает ограничивающую Rectangle этого Rectangle в соответствии с указанными x, y, width и height.

Этот метод включён для полноты, чтобы соответствовать методу setBounds у Component.

Параметры:
x - новая координата X для верхнего левого угла этого Rectangle
y - новая координата Y для верхнего левого угла этого Rectangle
width - новая ширина для этого Rectangle
height - новая высота для этого Rectangle
С:
1.1
См. также:
getBounds(), Component.setBounds(int, int, int, int)

setRect

public void setRect(double x,
                    double y,
                    double width,
                    double height)

Устанавливает границы этого Rectangle в целочисленные границы, которые охватывают указанные x, y, width и height. Если параметры указывают на Rectangle , превышающую максимальный диапазон целых чисел, результат будет лучшим представлением указанных Rectangle , пересечённых с максимальными целочисленными границами.

Определено в:
setRect в классе Rectangle2D
Параметры:
x - координата X верхнего левого угла указанного прямоугольника
y - координата Y верхнего левого угла указанного прямоугольника
width - ширина указанного прямоугольника
height - новая высота указанного прямоугольника

reshape

@Deprecated
public void reshape(int x,
                    int y,
                    int width,
                    int height)
Устарело.
С версии JDK 1.1, заменено на setBounds(int, int, int, int).

Устанавливает ограничивающую Rectangle этого Rectangle в соответствии с указанными x, y, width и height.

Параметры:
x - новая координата X для верхнего левого угла этого Rectangle
y - новая координата Y для верхнего левого угла этого Rectangle
width - новая ширина для этого Rectangle
height - новая высота для этого Rectangle

getLocation

public Point getLocation()

Возвращает положение этого Rectangle.

Этот метод включён для полноты, чтобы соответствовать методу getLocation у Component.

Возвращает:
местоположение, которое является верхним левым углом этого Rectangle.
С:
1.1
См. также:
Component.getLocation(), setLocation(Point), setLocation(int, int)

setLocation

public void setLocation(Point p)

Перемещает этот Rectangle в указанное местоположение.

Этот метод включён для полноты, чтобы соответствовать методу setLocation у Component.

Параметры:
p - местоположение, определяющее новое местоположение для этого Rectangle
С:
1.1
См. также:
Component.setLocation(java.awt.Point), getLocation()

setLocation

public void setLocation(int x,
                        int y)

Перемещает этот Rectangle в указанное местоположение.

Этот метод включён для полноты, чтобы соответствовать методу setLocation у Component.

Параметры:
x - координата X нового местоположения
y - координата Y нового местоположения
С:
1.1
См. также:
getLocation(), Component.setLocation(int, int)

move

@Deprecated
public void move(int x,
                 int y)
Устарело.
С версии JDK 1.1, заменено на setLocation(int, int).

Перемещает этот Rectangle в указанное местоположение.

Параметры:
x - координата X нового местоположения
y - координата Y нового местоположения

translate

public void translate(int dx,
                      int dy)

Перемещает этот Rectangle на указанное расстояние, вправо по оси X и вниз по оси Y.

Параметры:
dx - расстояние перемещения этого Rectangle по оси X
dy - расстояние перемещения этого Rectangle по оси Y
См. также:
setLocation(int, int), setLocation(java.awt.Point)

getSize

public Dimension getSize()

Получает размер этого Rectangle, представленный возвращаемым Dimension.

Этот метод включён для полноты, чтобы соответствовать методу getSize у Component.

Возвращает:
a Dimension, представляющий размер этого Rectangle.
С:
1.1
См. также:
Component.getSize(), setSize(Dimension), setSize(int, int)

setSize

public void setSize(Dimension d)

Устанавливает размер этого Rectangle для соответствия указанному Dimension.

Этот метод включен для полноты, чтобы соответствовать методу setSize класса Component.

Параметры:
d - новый размер для объекта Dimension
С:
1.1
См. также:
Component.setSize(java.awt.Dimension), getSize()

setSize

public void setSize(int width,
                    int height)

Устанавливает размер этого Rectangle до указанной ширины и высоты.

Этот метод включен для полноты, чтобы соответствовать методу setSize класса Component.

Параметры:
width - новая ширина для этого Rectangle
height - новая высота для этого Rectangle
С:
1.1
См. также:
Component.setSize(int, int), getSize()

resize

@Deprecated
public void resize(int width,
                   int height)
Устарело.
Начиная с JDK версии 1.1, заменено на setSize(int, int).

Устанавливает размер этого Rectangle до указанной ширины и высоты.

Параметры:
width - новая ширина для этого Rectangle
height - новая высота для этого Rectangle

contains

public boolean contains(Point p)

Проверяет, содержит ли этот Rectangle указанную Point.

Параметры:
p - проверяемая Point
Возвращает:
true если указанная Point находится внутри этого Rectangle; false в противном случае.
С:
1.1

contains

public boolean contains(int x,
                        int y)

Проверяет, содержит ли этот Rectangle точку в указанном месте (x,y).

Параметры:
x - указанная координата X
y - указанная координата Y
Возвращает:
true если точка (x,y) находится внутри этого Rectangle; false в противном случае.
С:
1.1

contains

public boolean contains(Rectangle r)

Проверяет, полностью ли этот Rectangle содержит указанный Rectangle.

Параметры:
r - указанный Rectangle
Возвращает:
true если Rectangle полностью находится внутри этого Rectangle; false в противном случае
С:
1.2

contains

public boolean contains(int X,
                        int Y,
                        int W,
                        int H)

Проверяет, полностью ли этот Rectangle содержит Rectangle в указанном месте (X,Y) с указанными размерами (W,H).

Параметры:
X - указанная координата X
Y - указанная координата Y
W - ширина Rectangle
H - высота Rectangle
Возвращает:
true если Rectangle, заданное (X, Y, W, H), полностью заключено внутри этого Rectangle; false в противном случае.
С:
1.1

inside

@Deprecated
public boolean inside(int X,
                      int Y)
Устарело.
Начиная с JDK версии 1.1, заменено на contains(int, int).

Проверяет, содержит ли этот Rectangle точку в указанном месте (X,Y).

Параметры:
X - указанная координата X
Y - указанная координата Y
Возвращает:
true если точка (X,Y) находится внутри этого Rectangle; false в противном случае.

intersects

public boolean intersects(Rectangle r)

Определяет, пересекаются ли этот Rectangle и указанный Rectangle. Два прямоугольника пересекаются, если их пересечение непустое.

Параметры:
r - указанный Rectangle
Возвращает:
true если указанный Rectangle и этот Rectangle пересекаются; false в противном случае.

intersection

public Rectangle intersection(Rectangle r)

Вычисляет пересечение этого Rectangle с указанным Rectangle. Возвращает новый Rectangle, представляющий пересечение двух прямоугольников. Если два прямоугольника не пересекаются, результат будет пустым прямоугольником.

Параметры:
r - указанный Rectangle
Возвращает:
наибольший Rectangle содержащийся как в указанном Rectangle, так и в этом Rectangle; или, если прямоугольники не пересекаются, пустой прямоугольник.

union

public Rectangle union(Rectangle r)

Вычисляет объединение этого Rectangle с указанным Rectangle. Возвращает новый Rectangle, представляющий объединение двух прямоугольников.

Если у любого Rectangle есть размер меньше нуля, применяются правила для несуществующих прямоугольников. Если у одного размер меньше нуля, результат будет копией другого Rectangle. Если у обоих размер меньше нуля, результат будет иметь хотя бы один размер меньше нуля.

Если полученный Rectangle будет иметь размер, слишком большой для представления в виде int, результат будет иметь размер Integer.MAX_VALUE по этой размерности.

Параметры:
r - указанный Rectangle
Возвращает:
наименьший Rectangle содержащий как указанный Rectangle, так и этот Rectangle.

add

public void add(int newx,
                int newy)

Добавляет точку, заданную целочисленными аргументами newx,newy, к границам этого Rectangle.

Если у этого Rectangle есть любой размер меньше нуля, применяются правила для несуществующих прямоугольников. В этом случае новые границы этого Rectangle будут иметь координаты, равные указанным, и ширину и высоту, равные нулю.

После добавления точки вызов contains с добавленной точкой в качестве аргумента не обязательно возвращает true. Метод contains не возвращает true для точек на правой или нижней границах прямоугольника. Следовательно, если добавленная точка попадает на правую или нижнюю границу увеличенного Rectangle, contains возвращает false для этой точки. Если указанная точка должна быть включена в новый Rectangle, следует добавить прямоугольник 1x1:

r.add(newx, newy, 1, 1);
Параметры:
newx - координата X новой точки
newy - координата Y новой точки

add

public void add(Point pt)

Добавляет указанную Point к границам этого Rectangle.

Если у этого Rectangle есть любой размер меньше нуля, применяются правила для несуществующих прямоугольников. В этом случае новые границы этого Rectangle будут иметь координаты, равные координатам указанной Point и ширину и высоту, равные нулю.

После добавления Point, вызов contains с добавленной Point в качестве аргумента не обязательно возвращает true. Метод contains не возвращает true для точек на правой или нижней границах Rectangle. Поэтому если добавленная Point попадает на правую или нижнюю границу увеличенного Rectangle, contains возвращает false для этой Point. Если указанная точка должна быть включена в новый Rectangle, следует добавить прямоугольник 1x1:

r.add(pt.x, pt.y, 1, 1);
Параметры:
pt - новая Point для добавления к этому Rectangle

add

public void add(Rectangle r)

Добавляет Rectangle к этому Rectangle. Результирующий Rectangle — объединение двух прямоугольников.

Если у любого Rectangle есть размер меньше 0, результат будет иметь размеры другого Rectangle. Если у обоих Rectangle есть хотя бы один размер меньше 0, результат будет иметь хотя бы один размер меньше 0.

Если у любого Rectangle есть один или оба размера равные 0, результат по этим осям с размерами 0 будет эквивалентен результатам, полученным путем добавления соответствующей координаты начала к прямоугольнику результата по этой оси, подобно работе метода add(Point), но без дальнейшего увеличения размера по этой оси.

Если у полученного Rectangle будет размер, слишком большой для представления в виде int, результат будет иметь размер Integer.MAX_VALUE по этой размерности.

Параметры:
r - указанный Rectangle

grow

public void grow(int h,
                 int v)

Изменяет размер Rectangle как по горизонтали, так и по вертикали.

Этот метод изменяет Rectangle таким образом, чтобы он стал шире на h единиц слева и справа, и выше на v единицы сверху и снизу.

Новый Rectangle имеет (x - h, y - v) в качестве левого верхнего угла, ширину (width + 2h) и высоту (height + 2v).

Если для h и v заданы отрицательные значения, размер Rectangle уменьшается соответственно. Метод grow проверит переполнение и недополнение целых чисел, но не проверяет, увеличиваются ли значения width и height от отрицательных к неотрицательным или уменьшаются от неотрицательных к отрицательным.

Параметры:
h - горизонтальное расширение
v - вертикальное расширение

isEmpty

public boolean isEmpty()

Определяет, пуст ли RectangularShape. Когда RectangularShape пустой, он не содержит никакой области.

Определено в:
isEmpty в классе RectangularShape
Возвращает:
true если RectangularShape пуст; false в противном случае.
С:
1.2

outcode

public int outcode(double x,
                   double y)

Определяет, где заданные координаты лежат относительно этого Rectangle2D. Этот метод вычисляет побитовое ИЛИ соответствующих значений маски, указывающих для каждой стороны этого Rectangle2D, находится ли заданная координата на той же стороне края, что и остальная часть этого Rectangle2D.

Определено в:
outcode в классе Rectangle2D
Параметры:
x - заданная координата X
y - заданная координата Y
Возвращает:
логическое ИЛИ всех соответствующих кодов.
С:
1.2
См. также:
Rectangle2D.OUT_LEFT, Rectangle2D.OUT_TOP, Rectangle2D.OUT_RIGHT, Rectangle2D.OUT_BOTTOM

createIntersection

public Rectangle2D createIntersection(Rectangle2D r)

Возвращает новый объект Rectangle2D, представляющий пересечение этого Rectangle2D с указанным Rectangle2D.

Определено в:
createIntersection в классе Rectangle2D
Параметры:
r - Rectangle2D для пересечения с этим Rectangle2D
Возвращает:
наибольший Rectangle2D, содержащийся как в указанном Rectangle2D, так и в этом Rectangle2D.
С:
1.2

createUnion

public Rectangle2D createUnion(Rectangle2D r)

Возвращает новый объект Rectangle2D, представляющий объединение этого Rectangle2D с указанным Rectangle2D.

Определено в:
createUnion в классе Rectangle2D
Параметры:
r - Rectangle2D для объединения с этим Rectangle2D
Возвращает:
наименьший Rectangle2D, содержащий как указанный Rectangle2D, так и этот Rectangle2D.
С:
1.2

equals

public boolean equals(Object obj)

Проверяет, равны ли два прямоугольника.

Результат равен true тогда и только тогда, когда аргумент не null и является объектом Rectangle, имеющим тот же левый верхний угол, ширину и высоту, что и этот Rectangle.

Переопределяет:
equals в классе Rectangle2D
Параметры:
obj - Object для сравнения с этим Rectangle
Возвращает:
true если объекты равны; false в противном случае.
См. также:
Object.hashCode(), HashMap

toString

public String toString()

Возвращает String, представляющий этот Rectangle и его значения.

Переопределяет:
toString в классе Object
Возвращает:
строковое представление координат и размеров этого объекта Rectangle.

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/java.desktop/java/awt/Rectangle.html

Spec-Zone .ru
спецификации, руководства, описания, API