Класс 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. |
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Это абстрактный класс, который нельзя создать напрямую. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
add |
Добавляет точку, заданную аргументами двойной точности newx и newy, к этому Rectangle2D. |
void |
add |
Добавляет объект Point2D pt к этому Rectangle2D. |
void |
add |
Добавляет объект Rectangle2D к этому Rectangle2D. |
boolean |
contains |
Проверяет, находятся ли указанные координаты внутри границ Shape, как описано в определении внутри области. |
boolean |
contains |
Проверяет, полностью ли внутренность Shape содержит указанную прямоугольную область. |
abstract Rectangle2D |
createIntersection |
Возвращает новый объект Rectangle2D, представляющий пересечение этого Rectangle2D с указанным Rectangle2D. |
abstract Rectangle2D |
createUnion |
Возвращает новый объект Rectangle2D, представляющий объединение этого Rectangle2D с указанным Rectangle2D. |
boolean |
equals |
Определяет, равен ли указанный Object этому Rectangle2D. |
Rectangle2D |
getBounds2D() |
Возвращает рамку с высокой точностью и большей точностью, чем метод Shape, для getBounds. |
PathIterator |
getPathIterator |
Возвращает объект итерации, определяющий границу этого Rectangle2D. |
PathIterator |
getPathIterator |
Возвращает объект итерации, определяющий границу сглаженного Rectangle2D. |
int |
hashCode() |
Возвращает хэш-код для этого Rectangle2D. |
static void |
intersect |
Пересекает пару указанных объектов исходного Rectangle2D и помещает результат в указанный объект назначения Rectangle2D. |
boolean |
intersects |
Проверяет, пересекается ли внутренность Shape с внутренней частью заданной прямоугольной области. |
boolean |
intersectsLine |
Проверяет, пересекается ли указанный отрезок прямой с внутренней частью этого Rectangle2D. |
boolean |
intersectsLine |
Проверяет, пересекается ли указанный отрезок прямой с внутренней частью этого Rectangle2D. |
abstract int |
outcode |
Определяет, где указанные координаты находятся относительно этого Rectangle2D. |
int |
outcode |
Определяет, где указанная Point2D находится относительно этого Rectangle2D. |
void |
setFrame |
Устанавливает положение и размер внешних границ этого Rectangle2D в соответствии с указанными прямоугольными значениями. |
abstract void |
setRect |
Устанавливает положение и размер этого Rectangle2D в соответствии с указанными значениями double. |
void |
setRect |
Устанавливает этот Rectangle2D таким же, как указанный Rectangle2D. |
static void |
union |
Объединяет пару объектов исходного 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
Подробное описание полей
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
- См. также:
Подробное описание методов
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
- См. также:
outcode
public int outcode(Point2D p)
Point2D расположена относительно этого Rectangle2D. Этот метод вычисляет двоичное ИЛИ соответствующих значений маски, указывающих для каждой стороны этого Rectangle2D, находится ли указанная Point2D на той же стороне ребра, что и остальная часть этого Rectangle2D.- Параметры:
-
p- указаннаяPoint2D - Возвращает:
- логическое ИЛИ всех соответствующих кодов.
- С момента:
- 1.2
- См. также:
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
- См. также:
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
- См. также:
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
- См. также:
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
- См. также:
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 объекта не повлияют на любые уже итерации этой геометрии.- Задано:
-
getPathIteratorв интерфейсеShape - Переопределяет:
-
getPathIteratorв классеRectangularShape - Параметры:
-
at- необязательноеAffineTransform, которое должно быть применено к координатам по мере их возвращения в итерации, илиnull, если требуются не преобразованные координаты -
flatness- максимальное расстояние, на которое отрезки прямых, используемые для аппроксимации криволинейных сегментов, могут отклоняться от любой точки исходной кривой. Поскольку прямоугольники уже сглажены, параметрflatnessигнорируется. - Возвращает:
- объект
PathIterator, который возвращает геометрию контура этогоRectangle2D, по одному сегменту за раз. - С:
- 1.2
hashCode
equals
public boolean equals(Object obj)
Object этому Rectangle2D. Указанный Object равен этому Rectangle2D, если он является экземпляром Rectangle2D и если его расположение и размер совпадают с этим Rectangle2D.
© 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