Класс 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.- 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
- См. также:
Подробное описание методов
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
- См. также:
outcode
public int outcode(Point2D p)
Point2D находится относительно этой Rectangle2D. Этот метод вычисляет двоичное ИЛИ соответствующих значений маски, указывающих для каждой стороны этой Rectangle2D , находится ли заданная Point2D на одной стороне грани, что и остальная часть этой Rectangle2D.- Параметры:
-
p- заданнаяPoint2D - Возвращает:
- логическое ИЛИ всех соответствующих кодов.
- Since:
- 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 - Since:
- 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. - Since:
- 1.2
- См. также:
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
- См. также:
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и вычисления containment слишком сложны. - С тех пор:
- 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 объекта не повлияют на уже обрабатываемые итерации этой геометрии.- Specified by:
-
getPathIteratorin interfaceShape - Overrides:
-
getPathIteratorin classRectangularShape - Parameters:
-
at- необязательноеAffineTransform, которое должно применяться к координатам по мере их возвращения в процессе итерации, илиnullесли требуются не преобразованные координаты -
flatness- максимальное расстояние, на которое отрезки прямых, используемые для аппроксимации криволинейных участков, могут отклоняться от любой точки исходной кривой. Поскольку прямоугольники уже сглажены, параметрflatnessигнорируется. - Returns:
- объект
PathIterator, который возвращает геометрию контура этогоRectangle2D, по одному отрезку за раз. - Since:
- 1.2
hashCode
public int hashCode()
Rectangle2D.- Overrides:
-
hashCodein classObject - Returns:
- хэш-код для этого
Rectangle2D. - Since:
- 1.2
- See Also:
equals
public boolean equals(Object obj)
Object этому Rectangle2D. Указанный Object равен этому Rectangle2D , если он является экземпляром Rectangle2D и если его расположение и размер совпадают с этим Rectangle2D.- Overrides:
-
equalsin classObject - Parameters:
-
obj-Objectдля сравнения с этимRectangle2D. - Returns:
-
true, еслиobjявляется экземпляромRectangle2Dи имеет одинаковые значения;falseв противном случае. - Since:
- 1.2
- See Also:
© 1993, 2023, 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/21/docs/api/java.desktop/java/awt/geom/Rectangle2D.html