Spec-Zone.ru › OpenJDK 8

Класс 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 int OUT_BOTTOM

Флаги, указывающие, что точка расположена ниже этого Rectangle2D.

static int OUT_LEFT

Флаги, указывающие, что точка расположена слева от этого Rectangle2D.

static int OUT_RIGHT

Флаги, указывающие, что точка расположена справа от этого Rectangle2D.

static int OUT_TOP

Флаги, указывающие, что точка расположена сверху от этого Rectangle2D.

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

Модификатор Конструктор и описание
protected Rectangle2D()

Это абстрактный класс, который нельзя создать напрямую.

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

Модификатор и тип Метод и описание
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.

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 не влияют на уже выполняющиеся итерации этой геометрии.

Определено в:
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, 2020, 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.

Spec-Zone.ru

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