Spec-Zone.ru › OpenJDK 24

Класс 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()
Возвращает рамку с высокой точностью и большей точностью, чем метод Shape, для getBounds.
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.
С момента:
1.2
См. также:
  • Значения постоянных полей

OUT_TOP

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

OUT_RIGHT

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

OUT_BOTTOM

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

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

Rectangle2D

protected Rectangle2D()
Это абстрактный класс, который нельзя создать напрямую. Подклассы, специфичные для типов, доступны для создания экземпляров и предоставляют ряд форматов для хранения информации, необходимой для удовлетворения различных методов доступа ниже.
С момента:
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
С момента:
1.2

setRect

public void setRect(Rectangle2D r)
Устанавливает этот Rectangle2D таким же, как указанный Rectangle2D.
Параметры:
r - указанный Rectangle2D
С момента:
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 в противном случае.
С момента:
1.2

intersectsLine

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

outcode

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

outcode

public int outcode(Point2D p)
Определяет, где указанная Point2D расположена относительно этого Rectangle2D. Этот метод вычисляет двоичное ИЛИ соответствующих значений маски, указывающих для каждой стороны этого Rectangle2D, находится ли указанная Point2D на той же стороне ребра, что и остальная часть этого Rectangle2D.
Параметры:
p - указанная Point2D
Возвращает:
логическое ИЛИ всех соответствующих кодов.
С момента:
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
С момента:
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.
С момента:
1.2
См. также:
  • Shape.getBounds()

contains

public boolean contains(double x, double y)
Проверяет, находятся ли указанные координаты внутри границ Shape, как описано в определении принадлежности.
Параметры:
x - указанная координата X для проверки
y - указанная координата Y для проверки
Возвращает:
true, если указанные координаты находятся внутри границ Shape; false в противном случае.
С:
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
END_OF_DOCUMENT_MARKER

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 объекта не повлияют на любые уже итерации этой геометрии.
Задано:
getPathIterator в интерфейсе Shape
Переопределяет:
getPathIterator в классе RectangularShape
Параметры:
at - необязательное AffineTransform, которое должно быть применено к координатам по мере их возвращения в итерации, или null, если требуются не преобразованные координаты
flatness - максимальное расстояние, на которое отрезки прямых, используемые для аппроксимации криволинейных сегментов, могут отклоняться от любой точки исходной кривой. Поскольку прямоугольники уже сглажены, параметр flatness игнорируется.
Возвращает:
объект PathIterator, который возвращает геометрию контура этого Rectangle2D, по одному сегменту за раз.
С:
1.2

hashCode

public int hashCode()
Возвращает хэш-код для этого Rectangle2D.
Переопределяет:
hashCode в классе Object
Возвращает:
хэш-код для этого Rectangle2D.
С:
1.2
См. также:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(java.lang.Object)

equals

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

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

Spec-Zone.ru

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