Класс Path2D.Double
- Все реализованные интерфейсы:
-
Shape,Serializable,Cloneable
- Вложенный класс:
Path2D
public static non-sealed class Path2D.Double extends Path2D implements Serializable
Double определяет геометрическую траекторию с координатами, хранящимися в числах с плавающей точкой двойной точности.- С:
- 1.6
- См. также:
Краткое описание вложенных классов
Вложенные классы/интерфейсы, объявленные в классе java.awt.geom.Path2D
Path2D.Double, Path2D.Float
Краткое описание полей
Поля, объявленные в классе java.awt.geom.Path2D
WIND_EVEN_ODD, WIND_NON_ZERO
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
Double() |
Создаёт новый пустой объект Path2D двойной точности с правилом обхода по умолчанию Path2D.WIND_NON_ZERO. |
Double |
Создаёт новый пустой объект Path2D двойной точности с заданным правилом обхода для управления операциями, требующими определения внутренней части траектории. |
Double |
Создаёт новый пустой объект Path2D двойной точности с заданным правилом обхода и заданной начальной ёмкостью для хранения сегментов траектории. |
Double |
Создаёт новый объект Path2D двойной точности из произвольного объекта Shape. |
Double |
Создаёт новый объект Path2D двойной точности из произвольного объекта Shape, преобразованного с помощью объекта AffineTransform. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
final void |
append |
Добавляет геометрию указанного объекта PathIterator к траектории, возможно соединяя новую геометрию с существующими сегментами траектории отрезком прямой. |
final Object |
clone() |
Создаёт новый объект того же класса, что и этот объект. |
final void |
curveTo |
Добавляет криволинейный сегмент, определяемый тремя новыми точками, к траектории, рисуя кривую Безье, пересекающую как текущие координаты, так и указанные координаты (x3,y3), используя указанные точки (x1,y1) и (x2,y2) в качестве контрольных точек Безье. |
final Rectangle2D |
getBounds2D() |
Возвращает прямоугольник ограничительной рамки Shape с высокой точностью и большей точностью, чем метод getBounds. |
final PathIterator |
getPathIterator |
Возвращает объект-итератор, который итерирует по границе Shape и предоставляет доступ к геометрии контура Shape. |
final void |
lineTo |
Добавляет точку к траектории, рисуя прямую линию от текущих координат до новых указанных координат, указанных в формате двойной точности. |
final void |
moveTo |
Добавляет точку к траектории, переходя в указанные координаты, указанные в формате двойной точности. |
final void |
quadTo |
Добавляет криволинейный сегмент, определяемый двумя новыми точками, к траектории, рисуя квадратичную кривую, которая пересекает как текущие координаты, так и указанные координаты (x2,y2), используя указанную точку (x1,y1) в качестве квадратичной параметрической контрольной точки. |
final void |
transform |
Преобразует геометрию этой траектории с помощью указанного объекта AffineTransform. |
final void |
trimToSize() |
Урезает ёмкость экземпляра Path2D до его текущего размера. |
Методы, объявленные в классе java.awt.geom.Path2D
append, closePath, contains, contains, contains, contains, contains, contains, contains, contains, createTransformedShape, getBounds, getCurrentPoint, getPathIterator, getWindingRule, intersects, intersects, intersects, intersects, reset, setWindingRule
Подробное описание конструкторов
Double
public Double()
Path2D с правилом обхода по умолчанию Path2D.WIND_NON_ZERO.- С момента:
- 1.6
Double
public Double(int rule)
Path2D с указанным правилом обхода для управления операциями, требующими определения внутренней части пути.- Параметры:
-
rule- правило обхода - Исключение:
-
IllegalArgumentException- еслиruleне равноPath2D.WIND_EVEN_ODDилиPath2D.WIND_NON_ZERO - С момента:
- 1.6
- См. также:
Double
public Double(int rule, int initialCapacity)
Path2D с указанным правилом обхода и указанной начальной ёмкостью для хранения сегментов пути. Это значение является приблизительной оценкой количества сегментов пути, но хранилище расширяется по мере необходимости для хранения всех добавляемых сегментов пути.- Параметры:
-
rule- правило обхода -
initialCapacity- оценка количества сегментов пути - Исключение:
-
IllegalArgumentException- еслиruleне равноPath2D.WIND_EVEN_ODDилиPath2D.WIND_NON_ZERO -
NegativeArraySizeException- еслиinitialCapacityотрицательное - С момента:
- 1.6
- См. также:
Double
public Double(Shape s)
Path2D из произвольного объекта Shape. Все начальные геометрические данные и правило обхода для этого пути берутся из указанного объекта Shape.- Параметры:
-
s- указанный объектShape - Исключение:
-
NullPointerException- еслиsравенnull - С момента:
- 1.6
Double
public Double(Shape s, AffineTransform at)
Path2D из произвольного объекта Shape, преобразованного с помощью объекта AffineTransform. Все начальные геометрические данные и правило обхода для этого пути берутся из указанного объекта Shape и преобразуются с помощью указанного объекта AffineTransform.- Параметры:
-
s- указанный объектShape -
at- указанный объектAffineTransform - Исключение:
-
NullPointerException- еслиsравенnull - С момента:
- 1.6
Подробное описание методов
trimToSize
public final void trimToSize()
Path2D- Определено в:
-
trimToSizeв классеPath2D - С момента:
- 10
moveTo
lineTo
quadTo
public final void quadTo(double x1, double y1, double x2, double y2)
(x2,y2), используя указанную точку (x1,y1) как квадратичную параметрическую контрольную точку. Все координаты указаны в двойной точности.curveTo
public final void curveTo(double x1, double y1, double x2, double y2, double x3, double y3)
(x3,y3), используя указанные точки (x1,y1) и (x2,y2) в качестве контрольных точек Безье. Все координаты указаны в двойной точности.- Определено в:
-
curveToв классеPath2D - Параметры:
-
x1- координата X первой контрольной точки Безье -
y1- координата Y первой контрольной точки Безье -
x2- координата X второй контрольной точки Безье -
y2- координата Y второй контрольной точки Безье -
x3- координата X конечной точки -
y3- координата Y конечной точки - С момента:
- 1.6
append
public final void append(PathIterator pi, boolean connect)
PathIterator к пути, возможно, соединяя новую геометрию с существующими сегментами пути с помощью линейного сегмента. Если параметр connect равен true и путь не пустой, то любой начальный moveTo в геометрии добавленного Shape преобразуется в сегмент lineTo. Если целевые координаты такого соединяющего сегмента lineTo совпадают с координатами завершения текущей подпути, то сегмент опускается как излишний. Правило обхода указанного Shape игнорируется, и добавляемая геометрия подчиняется правилу обхода, указанному для этого пути.transform
public final void transform(AffineTransform at)
AffineTransform. Геометрия преобразуется на месте, что постоянно изменяет границу, определяемую этим объектом.getBounds2D
public final 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)
- Определено в:
-
getBounds2Dв интерфейсеShape - Возвращает:
- экземпляр
Rectangle2D, представляющий высокоточную ограничивающую рамкуShape. - С:
- 1.6
- См. также:
getPathIterator
public final PathIterator getPathIterator(AffineTransform at)
Shape и предоставляет доступ к геометрии контура Shape. Если задан необязательный AffineTransform, координаты, возвращаемые в процессе итерации, преобразуются соответствующим образом. Каждый вызов этого метода возвращает новый объект-итератор PathIterator, который проходит по геометрии объекта Shape независимо от других объектов-итераторов PathIterator, используемых одновременно.
Рекомендуется, но не гарантируется, что объекты, реализующие интерфейс Shape, изолируют итерации, которые выполняются, от любых изменений, которые могут произойти в геометрии исходного объекта во время таких итераций.
Итератор для этого класса не является потокобезопасным, что означает, что класс Path2D не гарантирует, что изменения геометрии этого объекта Path2D не повлияют на уже выполняющиеся итерации по этой геометрии.
- Определено в:
-
getPathIteratorв интерфейсеShape - Параметры:
-
at-AffineTransform - Возвращает:
- новый
PathIterator, который перемещается по границе этогоShapeи предоставляет доступ к геометрии контура этогоShape - С:
- 1.6
clone
public final Object clone()
- Определено в:
-
cloneв классеPath2D - Возвращает:
- клонированный экземпляр.
- Исключения:
-
OutOfMemoryError- если недостаточно памяти. - С:
- 1.6
- См. также:
© 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/Path2D.Double.html