Spec-Zone.ru › OpenJDK 17

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

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

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

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

Обратите внимание, что объект Rectangle, созданный с помощью конструктора по умолчанию без аргументов, будет иметь размерности 0 и, следовательно, будет пустым. Такой объект Rectangle всё ещё будет иметь координаты 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 с левым верхним углом, заданным аргументом, и шириной и высотой, заданными аргументами с соответствующими именами.
Rectangle(Dimension d)
Создаёт новый объект Rectangle с левым верхним углом (0, 0) и шириной и высотой, заданными аргументом dimension.
Rectangle(Point p)
Создаёт новый объект Rectangle с левым верхним углом, заданным аргументом, и шириной и высотой, равными нулю.
Rectangle(Point p, Dimension d)
Создаёт новый объект Rectangle с левым верхним углом, заданным аргументом Point, и шириной и высотой, заданными аргументом Dimension.
Rectangle(Rectangle r)
Создаёт новый объект Rectangle, инициализированный значениями указанного объекта Rectangle.

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

Modifier and Type Method Description
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.
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)

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

setBounds

public void setBounds(Rectangle r)
Устанавливает ограничивающую Rectangle этого 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)
Устанавливает ограничивающие Rectangle этого Rectangle на заданные x, y, width, и height.

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

Parameters:
x - новая координата X для верхнего левого угла этого Rectangle
y - новая координата Y для верхнего левого угла этого Rectangle
width - новая ширина этого Rectangle
height - новая высота этого Rectangle
Since:
1.1
See Also:
  • 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, пересечённого с максимальными целыми границами.
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).
Устанавливает ограничивающие Rectangle этого Rectangle на заданные x, y, width, и height.
Parameters:
x - новая координата X для верхнего левого угла этого Rectangle
y - новая координата Y для верхнего левого угла этого Rectangle
width - новая ширина этого Rectangle
height - новая высота этого Rectangle

getLocation

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

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

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

setLocation

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

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

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

setLocation

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

Этот метод включён для полноты, для соответствия методу 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).
Перемещает этот Rectangle в указанное расположение.
Parameters:
x - координата X нового расположения
y - координата Y нового расположения

translate

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

getSize

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

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

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

setSize

public void setSize(Dimension d)
Устанавливает размер этого Rectangle в соответствии с заданным Dimension.

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

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

setSize

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

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

Parameters:
width - новая ширина этого Rectangle
height - новая высота этого Rectangle
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).
Устанавливает размер этого Rectangle на заданную ширину и высоту.
Parameters:
width - новая ширина этого Rectangle
height - новая высота этого Rectangle

contains

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

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

Если у любого из Rectangle есть размер равный 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 in class 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 in class 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 in class Rectangle2D
Parameters:
obj - the Object для сравнения с этим Rectangle
Returns:
true , если объекты равны; false в противном случае.
See Also:
  • Object.hashCode()
  • HashMap

toString

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

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

Spec-Zone.ru

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