Класс Path2D.Double
- Все реализованные интерфейсы:
Shape, Serializable, Cloneable
- Внешний класс:
Path2D
public static non-sealed class Path2D.Double extends Path2D implements Serializable
Double определяет геометрический путь с координатами, хранящимися в формате с плавающей точкой двойной точности.- Добавлено:
- 1.6
- См. также:
Краткое описание вложенных классов
Вложенные классы и интерфейсы, объявленные в классе Path2D
Path2D.Double, Path2D.Float
Краткое описание полей
Поля, объявленные в классе 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 до его текущего размера. |
Методы, объявленные в классе 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://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/java/awt/geom/Path2D.Double.html