Spec-Zone.ru › OpenJDK 24

Класс 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
Объект типа Rectangle определяет область в пространстве координат, ограниченную точкой в верхнем левом углу объекта Rectangle в пространстве координат, его шириной и высотой.

Поля 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 - заданная координата 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 in class RectangularShape
Returns:
координата X ограничивающего Rectangle.

getY

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

getWidth

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

getHeight

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

getBounds

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

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

Specified by:
getBounds in interface Shape
Overrides:
getBounds in class RectangularShape
Returns:
новый 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 in interface Shape
Overrides:
getBounds2D in class Rectangle2D
Returns:
экземпляр Rectangle2D, представляющий ограничивающую рамку Shape с высокой точностью.
Since:
1.2
См. также:
  • Shape.getBounds()

setBounds

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

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

Parameters:
r - заданный прямоугольник
Since:
1.1
See Also:
  • getBounds()
  • Component.setBounds(java.awt.Rectangle)

setBounds

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

Этот метод включён для полноты, для соответствия методу 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, ширину и высоту. Если параметры определяют прямоугольник, превышающий максимальный диапазон целых чисел, результат будет лучшим представлением заданного прямоугольника, пересечённого с максимальными границами целых чисел.
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, ширины и высоты.
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()
Получает размер этого объекта, представленный возвращаемым объектом Dimension.

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

Returns:
объект Dimension, представляющий размер этого объекта.
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)
Проверяет, содержит ли этот Rectangle точку в указанном месте (x,y).
Parameters:
x - заданная координата X
y - заданная координата Y
Returns:
true, если точка (x,y) находится внутри этого Rectangle; false в противном случае.
Since:
1.1

contains

public boolean contains(Rectangle r)
Проверяет, полностью ли этот Rectangle содержит указанный Rectangle.
Parameters:
r - указанный Rectangle
Returns:
true, если указанный Rectangle полностью содержится внутри этого Rectangle; 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 есть размер, меньший 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 - вертикальное расширение
END_OF_DOCUMENT_MARKER

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()
Возвращает строку, представляющую этот Rectangle и его значения.
Переопределяет:
toString в классе Object
Возвращает:
строку, представляющую координаты и размеры этого объекта Rectangle.

© 1993, 2025, 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://download.java.net/java/early_access/jdk24/docs/api/java.desktop/java/awt/Rectangle.html

Spec-Zone.ru

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