Spec-Zone.ru › OpenJDK 17

Класс Rectangle2D

java.lang.Object
java.awt.geom.RectangularShape
java.awt.geom.Rectangle2D
Все реализуемые интерфейсы:
Shape, Cloneable
Прямые известные подклассы:
Rectangle, Rectangle2D.Double, Rectangle2D.Float
public abstract class Rectangle2D extends RectangularShape
Класс Rectangle2D описывает прямоугольник, определенный положением (x,y) и размерами (w x h).

Этот класс является только абстрактным суперклассом для всех объектов, хранящих прямоугольник 2D. Фактическое представление координат остается за подклассом.

С:
1.2

Краткое описание вложенных классов

Модификатор и тип Класс Описание
static class  Rectangle2D.Double
Класс Double определяет прямоугольник, заданный координатами с двойной точностью.
static class  Rectangle2D.Float
Класс Float определяет прямоугольник, заданный координатами с плавающей точкой.

Краткое описание полей

Модификатор и тип Поле Описание
static final int OUT_BOTTOM
Маска битов, указывающая, что точка находится под этим Rectangle2D.
static final int OUT_LEFT
Маска битов, указывающая, что точка находится слева от этого Rectangle2D.
static final int OUT_RIGHT
Маска битов, указывающая, что точка находится справа от этого Rectangle2D.
static final int OUT_TOP
Маска битов, указывающая, что точка находится над этим Rectangle2D.

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

Rectangle2D()
Модификатор Конструктор Описание
protected
Это абстрактный класс, который нельзя создать напрямую.

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

Модификатор и тип Метод Описание
void add(double newx, double newy)
Добавляет точку, заданную аргументами двойной точности newx и newy, в этот Rectangle2D.
void add(Point2D pt)
Добавляет объект Point2D pt в этот Rectangle2D.
void add(Rectangle2D r)
Добавляет объект Rectangle2D в этот Rectangle2D.
boolean contains(double x, double y)
Проверяет, находятся ли указанные координаты внутри границы Shape, как описано в определении внутри.
boolean contains(double x, double y, double w, double h)
Проверяет, полностью ли внутренняя часть Shape содержит указанную прямоугольную область.
abstract Rectangle2D createIntersection(Rectangle2D r)
Возвращает новый объект Rectangle2D, представляющий пересечение этого Rectangle2D с указанным Rectangle2D.
abstract Rectangle2D createUnion(Rectangle2D r)
Возвращает новый объект Rectangle2D, представляющий объединение этого Rectangle2D с указанным Rectangle2D.
boolean equals(Object obj)
Определяет, равен ли указанный Object этому Rectangle2D.
Rectangle2D getBounds2D()
Возвращает прямоугольник с высокой точностью и большей точностью, чем метод getBounds, для Shape.
PathIterator getPathIterator(AffineTransform at)
Возвращает объект итерации, определяющий границу этого Rectangle2D.
PathIterator getPathIterator(AffineTransform at, double flatness)
Возвращает объект итерации, определяющий границу сглаженного Rectangle2D.
int hashCode()
Возвращает хэш-код для этого Rectangle2D.
static void intersect(Rectangle2D src1, Rectangle2D src2, Rectangle2D dest)
Пересекает пару указанных исходных объектов Rectangle2D и помещает результат в указанный объект назначения Rectangle2D.
boolean intersects(double x, double y, double w, double h)
Проверяет, пересекается ли внутренняя часть Shape с внутренней частью указанной прямоугольной области.
boolean intersectsLine(double x1, double y1, double x2, double y2)
Проверяет, пересекает ли указанный отрезок линии внутреннюю часть этого Rectangle2D.
boolean intersectsLine(Line2D l)
Проверяет, пересекает ли указанный отрезок линии внутреннюю часть этого Rectangle2D.
abstract int outcode(double x, double y)
Определяет, где указанные координаты находятся относительно этого Rectangle2D.
int outcode(Point2D p)
Определяет, где указанная Point2D находится относительно этого Rectangle2D.
void setFrame(double x, double y, double w, double h)
Устанавливает положение и размер внешних границ этого Rectangle2D до указанных прямоугольных значений.
abstract void setRect(double x, double y, double w, double h)
Устанавливает положение и размер этого Rectangle2D до указанных double значений.
void setRect(Rectangle2D r)
Устанавливает этот Rectangle2D таким же, как указанный Rectangle2D.
static void union(Rectangle2D src1, Rectangle2D src2, Rectangle2D dest)
Объединяет пару исходных объектов Rectangle2D и помещает результат в указанный объект назначения Rectangle2D.

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

clone, contains, contains, getBounds, getCenterX, getCenterY, getFrame, getHeight, getMaxX, getMaxY, getMinX, getMinY, getWidth, getX, getY, intersects, isEmpty, setFrame, setFrame, setFrameFromCenter, setFrameFromCenter, setFrameFromDiagonal, setFrameFromDiagonal

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

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

Подробное описание полей

OUT_LEFT

public static final int OUT_LEFT
Маска битов, указывающая, что точка лежит слева от этого Rectangle2D.
Since:
1.2
См. также:
  • Значения постоянных полей

OUT_TOP

public static final int OUT_TOP
Маска битов, указывающая, что точка расположена выше этого Rectangle2D.
Since:
1.2
См. также:
  • Значения постоянных полей

OUT_RIGHT

public static final int OUT_RIGHT
Маска битов, указывающая, что точка лежит справа от этого Rectangle2D.
Since:
1.2
См. также:
  • Значения постоянных полей

OUT_BOTTOM

public static final int OUT_BOTTOM
Маска битов, указывающая, что точка расположена ниже этого Rectangle2D.
Since:
1.2
См. также:
  • Значения постоянных полей

Подробное описание конструкторов

Rectangle2D

protected Rectangle2D()
Это абстрактный класс, который нельзя создать напрямую. Существуют подклассы конкретных типов для создания экземпляров и обеспечивают ряд форматов для хранения информации, необходимой для удовлетворения различных методов доступа ниже.
Since:
1.2
См. также:
  • Rectangle2D.Float
  • Rectangle2D.Double
  • Rectangle

Подробное описание методов

setRect

public abstract void setRect(double x, double y, double w, double h)
Устанавливает расположение и размер этой Rectangle2D в соответствии со значениями указанного double.
Параметры:
x - координата X верхнего левого угла этой Rectangle2D
y - координата Y верхнего левого угла этой Rectangle2D
w - ширина этой Rectangle2D
h - высота этой Rectangle2D
Since:
1.2

setRect

public void setRect(Rectangle2D r)
Устанавливает эту Rectangle2D в соответствии с указанным Rectangle2D.
Параметры:
r - указанный Rectangle2D
Since:
1.2

intersectsLine

public boolean intersectsLine(double x1, double y1, double x2, double y2)
Проверяет, пересекает ли указанный отрезок прямой внутреннюю область этой Rectangle2D.
Параметры:
x1 - координата X начальной точки указанного отрезка прямой
y1 - координата Y начальной точки указанного отрезка прямой
x2 - координата X конечной точки указанного отрезка прямой
y2 - координата Y конечной точки указанного отрезка прямой
Возвращает:
true , если указанный отрезок прямой пересекает внутреннюю область этой Rectangle2D; false в противном случае.
Since:
1.2

intersectsLine

public boolean intersectsLine(Line2D l)
Проверяет, пересекает ли указанный отрезок прямой внутреннюю область этой Rectangle2D.
Параметры:
l - указанный Line2D для проверки пересечения с внутренней областью этой Rectangle2D
Возвращает:
true , если указанный Line2D пересекает внутреннюю область этой Rectangle2D; false в противном случае.
Since:
1.2

outcode

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

outcode

public int outcode(Point2D p)
Определяет, где указанная Point2D лежит относительно этой Rectangle2D. Этот метод вычисляет побитовое ИЛИ соответствующих значений маски, показывая для каждой стороны этой Rectangle2D, находится ли указанная Point2D на одной стороне ребра, что и остальные точки этой Rectangle2D.
Параметры:
p - указанная Point2D
Возвращает:
логическое ИЛИ всех соответствующих кодов.
Since:
1.2
См. также:
  • OUT_LEFT
  • OUT_TOP
  • OUT_RIGHT
  • OUT_BOTTOM

setFrame

public void setFrame(double x, double y, double w, double h)
Устанавливает расположение и размер внешних границ этой Rectangle2D в соответствии с указанными прямоугольными значениями.
Унаследован от:
setFrame в классе RectangularShape
Параметры:
x - координата X верхнего левого угла этой Rectangle2D
y - координата Y верхнего левого угла этой Rectangle2D
w - ширина этой Rectangle2D
h - высота этой Rectangle2D
Since:
1.2
См. также:
  • RectangularShape.getFrame()

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)

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

contains

public boolean contains(double x, double y)
Проверяет, находятся ли заданные координаты внутри границы Shape, как описано в определении внутренней области.
Параметры:
x - заданная координата X для проверки
y - заданная координата Y для проверки
Возвращает:
true , если указанные координаты находятся внутри границы Shape ; false в противном случае.
Since:
1.2

intersects

public boolean intersects(double x, double y, double w, double h)
Проверяет, пересекается ли внутренняя область Shape с внутренней областью указанной прямоугольной области. Прямоугольная область считается пересекающей Shape , если хотя бы одна точка находится как внутри внутренней области Shape, так и внутри указанной прямоугольной области.

Метод Shape.intersects() позволяет реализации Shape консервативно возвращать true в следующих случаях:

  • существует высокая вероятность пересечения прямоугольной области и Shape, но
  • вычисления для точного определения этого пересечения слишком затратны.
Это означает, что для некоторых Shapes этот метод может вернуть true, даже если прямоугольная область не пересекает Shape. Класс Area выполняет более точные вычисления геометрического пересечения, чем большинство объектов Shape, и поэтому его можно использовать, если требуется более точный ответ.
Параметры:
x - координата X левого верхнего угла указанной прямоугольной области
y - координата Y левого верхнего угла указанной прямоугольной области
w - ширина указанной прямоугольной области
h - высота указанной прямоугольной области
Возвращает:
true если внутренние области Shape и прямоугольной области пересекаются или если обе области с высокой вероятностью пересекаются, а вычисление пересечения слишком затратно; false в противном случае.
С:
1.2
См. также:
  • Area

contains

public boolean contains(double x, double y, double w, double h)
Проверяет, полностью ли внутренняя область Shape содержит указанную прямоугольную область. Все координаты, лежащие внутри прямоугольной области, должны лежать внутри Shape для того, чтобы вся прямоугольная область считалась содержащейся в Shape.

Метод Shape.contains() позволяет реализации Shape консервативно возвращать false в следующих случаях:

  • метод intersect возвращает true и
  • вычисления для определения того, содержит ли Shape прямоугольную область целиком, слишком затратны.
Это означает, что для некоторых Shapes этот метод может вернуть false даже если Shape содержит прямоугольную область. Класс Area выполняет более точные геометрические вычисления, чем большинство объектов Shape, и поэтому его можно использовать, если требуется более точный ответ.
Параметры:
x - координата X левого верхнего угла указанной прямоугольной области
y - координата Y левого верхнего угла указанной прямоугольной области
w - ширина указанной прямоугольной области
h - высота указанной прямоугольной области
Возвращает:
true если внутренняя область Shape полностью содержит указанную прямоугольную область; false в противном случае или если Shape содержит прямоугольную область, и метод intersects возвращает true и вычисление включения слишком затратно.
С:
1.2
См. также:
  • Area
  • Shape.intersects(double, double, double, double)

createIntersection

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

intersect

public static void intersect(Rectangle2D src1, Rectangle2D src2, Rectangle2D dest)
Пересекает пару указанных исходных объектов Rectangle2D и помещает результат в указанный целевой объект Rectangle2D . Один из исходных прямоугольников также может быть целевым, чтобы избежать создания третьего объекта Rectangle2D, но в этом случае исходные точки этого исходного прямоугольника будут перезаписаны этим методом.
Параметры:
src1 - первый из пары объектов Rectangle2D для пересечения
src2 - второй из пары объектов Rectangle2D для пересечения
dest - Rectangle2D , содержащий результаты пересечения src1 и src2
С:
1.2

createUnion

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

union

public static void union(Rectangle2D src1, Rectangle2D src2, Rectangle2D dest)
Объединяет пару исходных объектов Rectangle2D и помещает результат в указанный целевой объект Rectangle2D . Один из исходных прямоугольников также может быть целевым, чтобы избежать создания третьего объекта Rectangle2D, но в этом случае исходные точки этого исходного прямоугольника будут перезаписаны этим методом.
Параметры:
src1 - первый из пары объектов Rectangle2D для объединения
src2 - второй из пары объектов Rectangle2D для объединения
dest - Rectangle2D , содержащий результаты объединения src1 и src2
С:
1.2

add

public void add(double newx, double newy)
Добавляет точку, задаваемую аргументами с двойной точностью newx и newy, в этот Rectangle2D. Результирующий Rectangle2D — это наименьший Rectangle2D , содержащий как исходный Rectangle2D , так и указанную точку.

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

Параметры:
newx - координата X новой точки
newy - координата Y новой точки
С:
1.2

add

public void add(Point2D pt)
Добавляет объект Point2D pt в этот Rectangle2D. Результирующий Rectangle2D — это наименьший Rectangle2D , содержащий как исходный Rectangle2D , так и указанный Point2D.

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

Параметры:
pt - новая Point2D для добавления в этот Rectangle2D.
С:
1.2

add

public void add(Rectangle2D r)
Добавляет объект Rectangle2D в этот Rectangle2D. Результирующий Rectangle2D является объединением двух объектов Rectangle2D.
Параметры:
r - Rectangle2D для добавления в этот Rectangle2D.
С:
1.2

getPathIterator

public PathIterator getPathIterator(AffineTransform at)
Возвращает объект итерации, определяющий границу этого Rectangle2D. Итератор для этого класса потокобезопасен, что означает, что этот класс Rectangle2D гарантирует, что изменения геометрии этого объекта Rectangle2D не повлияют на уже выполняемые итерации по этой геометрии.
Параметры:
at - необязательное AffineTransform для применения к координатам по мере их возврата в итерации, или null , если требуются не преобразованные координаты
Возвращает:
объект PathIterator , который возвращает геометрию контура этого Rectangle2D, по одному сегменту за раз.
С:
1.2

getPathIterator

public PathIterator getPathIterator(AffineTransform at, double flatness)
Возвращает объект итерации, который определяет границу сглаженного Rectangle2D. Поскольку прямоугольники уже сглажены, параметр flatness игнорируется. Итератор для этого класса многопоточно-безопасен, что означает, что этот Rectangle2D класс гарантирует, что изменения геометрии этого Rectangle2D объекта не повлияют на уже выполняющиеся итерации этой геометрии.
Specified by:
getPathIterator в интерфейсе Shape
Overrides:
getPathIterator в классе RectangularShape
Parameters:
at - необязательное AffineTransform, которое должно быть применено к координатам по мере их возвращения в итерации, или null, если требуются не преобразованные координаты
flatness - максимальное расстояние, на которое отрезки прямых, используемые для приближения криволинейных отрезков, могут отклоняться от любой точки исходной кривой. Поскольку прямоугольники уже сглажены, параметр flatness игнорируется.
Returns:
объект PathIterator, который возвращает геометрию контура этого Rectangle2D, по одному сегменту за раз.
Since:
1.2

hashCode

public int hashCode()
Возвращает хэш-код для этого Rectangle2D.
Overrides:
hashCode в классе Object
Returns:
хэш-код для этого Rectangle2D.
Since:
1.2
See Also:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(java.lang.Object)

equals

public boolean equals(Object obj)
Определяет, равен ли указанный Object этому Rectangle2D. Указанный Object равен этому Rectangle2D, если он является экземпляром Rectangle2D и если его расположение и размеры совпадают с этим Rectangle2D.
Overrides:
equals в классе Object
Parameters:
obj - Object для сравнения с этим Rectangle2D.
Returns:
true если obj является экземпляром Rectangle2D и имеет те же значения; false в противном случае.
Since:
1.2
See Also:
  • Object.hashCode()
  • HashMap

© 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/geom/Rectangle2D.html

Spec-Zone.ru

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