Spec-Zone.ru › OpenJDK 21

Класс Rectangle

java.lang.Object
java.awt.geom.RectangularShape
java.awt.geom.Rectangle2D
java.awt.Rectangle
Все реализованные интерфейсы:
Shape, Serializable, Cloneable
Прямые известные подклассы:
DefaultCaret
public class Rectangle extends Rectangle2D implements Shape, Serializable
Прямоугольник описывает область в системе координат, ограниченную точкой верхнего левого угла (x,y), шириной и высотой.

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

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

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

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

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


     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
Высота прямоугольника.
int width
Ширина прямоугольника.
int x
Координата X верхнего левого угла прямоугольника.
int y
Координата Y верхнего левого угла прямоугольника.

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

OUT_BOTTOM, OUT_LEFT, OUT_RIGHT, OUT_TOP

Краткое описание конструкторов

Конструктор Описание
Rectangle()
Создаёт новый прямоугольник с верхним левым углом в (0, 0) в пространстве координат, и шириной и высотой, равными нулю.
Rectangle(int width, int height)
Создаёт новый прямоугольник с верхним левым углом в (0, 0) в пространстве координат, и шириной и высотой, заданными аргументами с таким же именем.
Rectangle(int x, int y, int width, int height)
Создаёт новый прямоугольник с верхним левым углом, заданным параметром (x,y), и шириной и высотой, заданными аргументами с таким же именем.
Rectangle(Dimension d)
Создаёт новый прямоугольник с верхним левым углом в (0, 0) и шириной и высотой, заданными аргументом Dimension.
Rectangle(Point p)
Создаёт новый прямоугольник с верхним левым углом, заданным Point, и шириной и высотой, равными нулю.
Rectangle(Point p, Dimension d)
Создаёт новый прямоугольник, верхний левый угол которого задаётся аргументом Point, а ширина и высота задаются аргументом Dimension.
Rectangle(Rectangle r)
Создаёт новый прямоугольник, инициализированный в соответствии со значениями указанного Rectangle.

Краткое описание методов

Modifier and Type Method Описание
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.
Specified by:
getX в классе RectangularShape
Возвращает:
координату X ограничивающей Rectangle.

getY

public double getY()
Возвращает координату Y ограничивающей Rectangle с точностью double.
Specified by:
getY в классе RectangularShape
Возвращает:
координату Y ограничивающей Rectangle.

getWidth

public double getWidth()
Возвращает ширину ограничивающей Rectangle с точностью double.
Specified by:
getWidth в классе RectangularShape
Возвращает:
ширину ограничивающей Rectangle.

getHeight

public double getHeight()
Возвращает высоту ограничивающей Rectangle с точностью double.
Specified by:
getHeight в классе RectangularShape
Возвращает:
высоту ограничивающей Rectangle.

getBounds

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

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

Specified by:
getBounds в интерфейсе Shape
Overrides:
getBounds в классе RectangularShape
Возвращает:
новый Rectangle, равный ограничивающей Rectangle для этого Rectangle.
Since:
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)

Specified by:
getBounds2D в интерфейсе Shape
Overrides:
getBounds2D в классе Rectangle2D
Возвращает:
экземпляр Rectangle2D , который является ограничивающей рамкой с высокой точностью Shape.
Since:
1.2
См. также:
  • Shape.getBounds()

setBounds

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

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

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

setBounds

public void setBounds(int x, int y, int width, int height)
Устанавливает ограничивающую область этого объекта до указанных значений: x, y, width, и height.

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

Parameters:
x - новая координата X для верхнего левого угла этого объекта
y - новая координата Y для верхнего левого угла этого объекта
width - новая ширина этого объекта
height - новая высота этого объекта
Since:
1.1
See Also:
  • getBounds()
  • Component.setBounds(int, int, int, int)

setRect

public void setRect(double x, double y, double width, double height)
Устанавливает ограничивающую область этого объекта до целочисленной области, которая охватывает указанные значения x, y, width, и height. Если указанные параметры задают область, которая превышает максимальный диапазон целых чисел, результатом будет наилучшее представление указанной области, пересеченной с максимальными целочисленными границами.
Specified by:
setRect в классе Rectangle2D
Parameters:
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).
Устанавливает ограничивающую область этого объекта до указанных значений x, y, width, и height.
Parameters:
x - новая координата X для верхнего левого угла этого объекта
y - новая координата Y для верхнего левого угла этого объекта
width - новая ширина этого объекта
height - новая высота этого объекта

getLocation

public Point getLocation()
Возвращает расположение этого объекта.

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

Returns:
позицию, являющуюся верхним левым углом этого объекта.
Since:
1.1
See Also:
  • Component.getLocation()
  • setLocation(Point)
  • setLocation(int, int)

setLocation

public void setLocation(Point p)
Перемещает этот объект в указанное расположение.

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

Parameters:
p - позиция, определяющая новое расположение этого объекта
Since:
1.1
See Also:
  • Component.setLocation(java.awt.Point)
  • getLocation()

setLocation

public void setLocation(int x, int y)
Перемещает этот объект в указанное расположение.

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

Parameters:
x - координата X нового расположения
y - координата Y нового расположения
Since:
1.1
See Also:
  • getLocation()
  • Component.setLocation(int, int)

move

@Deprecated public void move(int x, int y)
Устарело.
С версии JDK 1.1, заменено на setLocation(int, int).
Перемещает этот объект в указанное расположение.
Parameters:
x - координата X нового расположения
y - координата Y нового расположения

translate

public void translate(int dx, int dy)
Перемещает этот объект на указанное расстояние вправо по оси X и вниз по оси Y.
Parameters:
dx - расстояние перемещения по оси X
dy - расстояние перемещения по оси Y
See Also:
  • setLocation(int, int)
  • setLocation(java.awt.Point)

getSize

public Dimension getSize()
Возвращает размер этого объекта, представленный возвращаемым объектом.

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

Returns:
объект, представляющий размер этого объекта.
Since:
1.1
See Also:
  • Component.getSize()
  • setSize(Dimension)
  • setSize(int, int)

setSize

public void setSize(Dimension d)
Устанавливает размер этого объекта, чтобы он соответствовал указанному размеру.

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

Parameters:
d - новый размер для объекта
Since:
1.1
See Also:
  • Component.setSize(java.awt.Dimension)
  • getSize()

setSize

public void setSize(int width, int height)
Устанавливает размер этого объекта до указанной ширины и высоты.

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

Parameters:
width - новая ширина этого объекта
height - новая высота этого объекта
Since:
1.1
See Also:
  • Component.setSize(int, int)
  • getSize()

resize

@Deprecated public void resize(int width, int height)
Устарело.
С версии JDK 1.1, заменено на setSize(int, int).
Устанавливает размер этого объекта до указанной ширины и высоты.
Parameters:
width - новая ширина этого объекта
height - новая высота этого объекта

contains

public boolean contains(Point p)
Проверяет, содержит ли этот объект указанную точку.
Parameters:
p - точка для проверки
Returns:
true , если указанная точка находится внутри этого объекта; false в противном случае.
Since:
1.1

contains

public boolean contains(int x, int y)
Проверяет, содержит ли этот объект точку в указанном расположении (x,y).
Parameters:
x - указанная координата X
y - указанная координата Y
Returns:
true , если точка (x,y) находится внутри этого объекта; false в противном случае.
Since:
1.1

contains

public boolean contains(Rectangle r)
Проверяет, полностью ли этот объект содержит указанный прямоугольник.
Parameters:
r - указанный прямоугольник
Returns:
true , если прямоугольник полностью содержится внутри этого объекта; false в противном случае
Since:
1.2

contains

public boolean contains(int X, int Y, int W, int H)
Проверяет, полностью ли этот Rectangle содержит Rectangle в указанной позиции (X,Y) с указанными размерами (W,H).
Parameters:
X - указанная координата X
Y - указанная координата Y
W - ширина Rectangle
H - высота Rectangle
Returns:
true если Rectangle, определённый (X, Y, W, H), полностью находится внутри этого Rectangle; false в противном случае.
Since:
1.1

inside

@Deprecated public boolean inside(int X, int Y)
Устарело.
Начиная с JDK версии 1.1, заменено на contains(int, int).
Проверяет, содержит ли этот Rectangle точку в указанной позиции (X,Y).
Parameters:
X - указанная координата X
Y - указанная координата Y
Returns:
true если точка (X,Y) находится внутри этого Rectangle; false в противном случае.

intersects

public boolean intersects(Rectangle r)
Определяет, пересекаются ли этот Rectangle и указанный Rectangle. Два прямоугольника пересекаются, если их пересечение непусто.
Parameters:
r - указанный Rectangle
Returns:
true если указанный Rectangle и этот Rectangle пересекаются; false в противном случае.

intersection

public Rectangle intersection(Rectangle r)
Вычисляет пересечение этого Rectangle с указанным Rectangle. Возвращает новый Rectangle, представляющий пересечение двух прямоугольников. Если два прямоугольника не пересекаются, результатом будет пустой прямоугольник.
Parameters:
r - указанный Rectangle
Returns:
наибольший Rectangle содержащийся как в указанном Rectangle, так и в этом Rectangle; или, если прямоугольники не пересекаются, пустой прямоугольник.

union

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

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

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

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

add

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

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

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

     r.add(new Rectangle(newx, newy, 1, 1));
 
Parameters:
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(new Rectangle(pt, new Dimension(1, 1)));
 
Parameters:
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 по этой размерности.

Parameters:
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 от отрицательного к неотрицательному или от неотрицательного к отрицательному.

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

isEmpty

public boolean isEmpty()
Определяет, пуст ли RectangularShape. Когда RectangularShape пуст, он не включает никакой области.
Specified by:
isEmpty в классе RectangularShape
Returns:
true если RectangularShape пуст; false в противном случае.
Since:
1.2

outcode

public int outcode(double x, double y)
Определяет, где заданные координаты лежат относительно этого Rectangle2D. Этот метод вычисляет бинарное ИЛИ соответствующих значений маски, указывающих для каждой стороны этого Rectangle2D, находится ли заданная координата на той же стороне края, что и остальная часть этого Rectangle2D.
Specified by:
outcode в классе Rectangle2D
Parameters:
x - указанная координата X
y - указанная координата Y
Returns:
логическое ИЛИ всех соответствующих кодов.
Since:
1.2
See Also:
  • Rectangle2D.OUT_LEFT
  • Rectangle2D.OUT_TOP
  • Rectangle2D.OUT_RIGHT
  • Rectangle2D.OUT_BOTTOM

createIntersection

public Rectangle2D createIntersection(Rectangle2D r)
Возвращает новый объект Rectangle2D, представляющий пересечение этого Rectangle2D с указанным Rectangle2D.
Specified by:
createIntersection в классе Rectangle2D
Parameters:
r - the Rectangle2D для пересечения с этим Rectangle2D
Returns:
наибольшее Rectangle2D, содержащееся как в указанном Rectangle2D, так и в этом Rectangle2D.
Since:
1.2

createUnion

public Rectangle2D createUnion(Rectangle2D r)
Возвращает новый объект Rectangle2D, представляющий объединение этого Rectangle2D с указанным Rectangle2D.
Specified by:
createUnion в классе Rectangle2D
Parameters:
r - the Rectangle2D для объединения с этим Rectangle2D
Returns:
наименьшее Rectangle2D, содержащее как указанное Rectangle2D, так и это Rectangle2D.
Since:
1.2

equals

public boolean equals(Object obj)
Проверяет, равны ли два прямоугольника.

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

Overrides:
equals в классе Rectangle2D
Parameters:
obj - the Object для сравнения с этим Rectangle
Returns:
true если объекты равны; false в противном случае.
See Also:
  • Object.hashCode()
  • HashMap

toString

public String toString()
Возвращает строковое представление этого Rectangle и его значений.
Overrides:
toString в классе Object
Returns:
строковое представление координат и размеров объекта Rectangle.

© 1993, 2023, 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/21/docs/api/java.desktop/java/awt/Rectangle.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API