Spec-Zone.ru › OpenJDK 27

Класс 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
Модификатор и тип Класс Описание
static class  Path2D.Double
Класс Double определяет геометрический путь с координатами, хранящимися в формате чисел с плавающей точкой двойной точности.
static class  Path2D.Float
Класс Float определяет геометрический путь с координатами, хранящимися в формате чисел с плавающей точкой одинарной точности.

Краткое описание полей

Поля, объявленные в классе Path2D

WIND_EVEN_ODD, WIND_NON_ZERO
Модификатор и тип Поле Описание
static final int WIND_EVEN_ODD
Правило чётно-нечётной заливки для определения внутренней области пути.
static final int 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
Модификатор и тип Метод Описание
final void append(Shape s, boolean connect)
Добавляет геометрию указанного объекта Shape к пути, возможно, соединяя новую геометрию с существующими сегментами пути отрезком.
final void closePath()
Замыкает текущий подпуть, проводя прямую линию обратно к координатам последнего moveTo.
final boolean contains(double x, double y)
Проверяет, находятся ли указанные координаты внутри границы Shape согласно определению принадлежности внутренней области.
final boolean contains(double x, double y, double w, double h)
Проверяет, полностью ли внутренняя область Shape содержит указанную прямоугольную область.
static boolean contains(PathIterator pi, double x, double y)
Проверяет, находятся ли указанные координаты внутри замкнутой границы указанного PathIterator.
static boolean contains(PathIterator pi, double x, double y, double w, double h)
Проверяет, находится ли указанная прямоугольная область целиком внутри замкнутой границы указанного PathIterator.
static boolean contains(PathIterator pi, Point2D p)
Проверяет, находится ли указанная Point2D внутри замкнутой границы указанного PathIterator.
static boolean contains(PathIterator pi, Rectangle2D r)
Проверяет, находится ли указанная Rectangle2D целиком внутри замкнутой границы указанного PathIterator.
final boolean contains(Point2D p)
Проверяет, находится ли указанная Point2D внутри границы Shape согласно определению принадлежности внутренней области.
final boolean contains(Rectangle2D r)
Проверяет, полностью ли внутренняя область Shape содержит указанную Rectangle2D.
final Shape createTransformedShape(AffineTransform at)
Возвращает новый Shape, представляющий преобразованную версию этого Path2D.
final Rectangle getBounds()
Возвращает целочисленный объект Rectangle, который полностью охватывает Shape.
final Point2D getCurrentPoint()
Возвращает координаты, добавленные последними в конец пути, в виде объекта Point2D.
final PathIterator getPathIterator(AffineTransform at, double flatness)
Возвращает объект-итератор, который проходит по границе Shape и предоставляет доступ к упрощённому представлению геометрии контура Shape.
final int getWindingRule()
Возвращает правило намотки для заливки.
final boolean intersects(double x, double y, double w, double h)
Проверяет, пересекается ли внутренняя область Shape с внутренней областью указанной прямоугольной области.
static boolean intersects(PathIterator pi, double x, double y, double w, double h)
Проверяет, пересекается ли внутренняя область указанного PathIterator с внутренней областью указанного набора прямоугольных координат.
static boolean intersects(PathIterator pi, Rectangle2D r)
Проверяет, пересекается ли внутренняя область указанного PathIterator с внутренней областью указанного Rectangle2D.
final boolean intersects(Rectangle2D r)
Проверяет, пересекается ли внутренняя область Shape с внутренней областью указанного Rectangle2D.
final void reset()
Очищает путь.
final void setWindingRule(int rule)
Устанавливает для этого пути указанное правило намотки.

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

equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
boolean equals(Object obj)
Указывает, равен ли другой объект этому объекту.
protected void finalize()
Устарело, планируется удаление: этот элемент API может быть удалён в будущей версии.
Финализация устарела и может быть удалена в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Приостанавливает текущий поток до его пробуждения, обычно в результате вызова notify или interrupt.
final void wait(long timeoutMillis)
Приостанавливает текущий поток до его пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного периода реального времени.
final void wait(long timeoutMillis, int nanos)
Приостанавливает текущий поток до его пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного периода реального времени.

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

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, 2026, 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.

Spec-Zone.ru

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