Spec-Zone.ru › OpenJDK 25

Класс Path2D.Double

java.lang.Object
java.awt.geom.Path2D
java.awt.geom.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(int rule)
Создает новый пустой объект Path2D двойной точности с указанным правилом обхода, которое управляет операциями, требующими определения внутренней области пути.
Double(int rule, int initialCapacity)
Создает новый пустой объект Path2D двойной точности с указанным правилом обхода и заданной начальной емкостью для хранения сегментов пути.
Double(Shape s)
Создает новый объект Path2D двойной точности на основе произвольного объекта Shape.
Double(Shape s, AffineTransform at)
Создает новый объект Path2D двойной точности на основе произвольного объекта Shape, преобразованного объектом AffineTransform.

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

Модификатор и тип Метод Описание
final void append(PathIterator pi, boolean connect)
Добавляет геометрию указанного объекта PathIterator к пути, при необходимости соединяя новую геометрию с существующими сегментами пути отрезком.
final Object clone()
Создает новый объект того же класса, что и этот объект.
final void curveTo(double x1, double y1, double x2, double y2, double x3, double y3)
Добавляет к пути криволинейный сегмент, определяемый тремя новыми точками, строя кривую Безье, которая проходит через текущие координаты и указанные координаты (x3,y3), используя указанные точки (x1,y1) и (x2,y2) в качестве контрольных точек Безье.
final Rectangle2D getBounds2D()
Возвращает более точный и высокоточный ограничивающий прямоугольник для Shape, чем метод getBounds.
final PathIterator getPathIterator(AffineTransform at)
Возвращает объект-итератор, проходящий вдоль границы Shape и предоставляющий доступ к геометрии контура Shape.
final void lineTo(double x, double y)
Добавляет точку к пути, проводя прямую линию от текущих координат до новых указанных координат, заданных с двойной точностью.
final void moveTo(double x, double y)
Добавляет точку к пути, перемещаясь к указанным координатам, заданным с двойной точностью.
final void quadTo(double x1, double y1, double x2, double y2)
Добавляет к пути криволинейный сегмент, определяемый двумя новыми точками, строя квадратичную кривую, которая проходит через текущие координаты и указанные координаты (x2,y2), используя указанную точку (x1,y1) в качестве параметрической контрольной точки квадратичной кривой.
final void transform(AffineTransform at)
Преобразует геометрию этого пути с помощью указанного объекта 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

Методы, объявленные в классе Object

equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Подробное описание конструкторов

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
См. также:
  • Path2D.WIND_EVEN_ODD
  • Path2D.WIND_NON_ZERO

Double

public Double(int rule, int initialCapacity)
Создает новый пустой объект Path2D двойной точности с указанным правилом обхода и заданной начальной емкостью для хранения сегментов пути. Это число является предварительной оценкой количества сегментов пути, но хранилище расширяется по мере необходимости для размещения любых сегментов, добавляемых в этот путь.
Параметры:
rule — правило обхода
initialCapacity — оценка количества сегментов пути
Исключения:
IllegalArgumentException — если rule не является ни Path2D.WIND_EVEN_ODD, ни Path2D.WIND_NON_ZERO
NegativeArraySizeException — если initialCapacity отрицательно
Добавлено:
1.6
См. также:
  • Path2D.WIND_EVEN_ODD
  • Path2D.WIND_NON_ZERO

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
Уменьшает емкость этого экземпляра Path2D до его текущего размера. Приложение может использовать эту операцию для минимизации объема памяти, занимаемого путем.
Переопределяет:
trimToSize в классе Path2D
Добавлено:
10

moveTo

public final void moveTo(double x, double y)
Добавляет точку к пути, перемещаясь к указанным координатам, заданным с двойной точностью.
Переопределяет:
moveTo в классе Path2D
Параметры:
x — указанная координата X
y — указанная координата Y
Добавлено:
1.6

lineTo

public final void lineTo(double x, double y)
Добавляет точку к пути, проводя прямую линию от текущих координат до новых указанных координат, заданных с двойной точностью.
Переопределяет:
lineTo в классе Path2D
Параметры:
x — указанная координата X
y — указанная координата Y
Добавлено:
1.6

quadTo

public final void quadTo(double x1, double y1, double x2, double y2)
Добавляет к пути криволинейный сегмент, определяемый двумя новыми точками, строя квадратичную кривую, которая проходит через текущие координаты и указанные координаты (x2,y2), используя указанную точку (x1,y1) в качестве параметрической контрольной точки квадратичной кривой. Все координаты задаются с двойной точностью.
Переопределяет:
quadTo в классе Path2D
Параметры:
x1 — координата X контрольной точки квадратичной кривой
y1 — координата Y контрольной точки квадратичной кривой
x2 — координата X конечной точки
y2 — координата Y конечной точки
Добавлено:
1.6

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 игнорируется, а добавленная геометрия подчиняется правилу обхода, заданному для этого пути.
Переопределяет:
append в классе Path2D
Параметры:
pi — PathIterator, геометрия которого добавляется к этому пути
connect — логическое значение, определяющее, нужно ли преобразовать начальный сегмент moveTo в сегмент lineTo, чтобы соединить новую геометрию с существующим путем
Добавлено:
1.6

transform

public final void transform(AffineTransform at)
Преобразует геометрию этого пути с помощью указанного объекта AffineTransform. Геометрия преобразуется на месте, что необратимо изменяет границу, определяемую этим объектом.
Переопределяет:
transform в классе Path2D
Параметры:
at — AffineTransform, используемый для преобразования области
Добавлено:
1.6

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
См. также:
  • Shape.getBounds()

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
См. также:
  • Cloneable

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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

Spec-Zone.ru

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