Spec-Zone.ru › OpenJDK 25

Класс Path2D.Float

java.lang.Object
java.awt.geom.Path2D
java.awt.geom.Path2D.Float
Все реализуемые интерфейсы:
Shape, Serializable, Cloneable
Прямые известные подклассы:
GeneralPath
Внешний класс:
Path2D
public static non-sealed class Path2D.Float extends Path2D implements Serializable
Класс Float определяет геометрический путь с координатами, хранящимися в формате чисел с плавающей запятой одинарной точности.
С момента выпуска:
1.6
См. также:
  • Сериализованная форма

Краткое описание вложенных классов

Вложенные классы и интерфейсы, объявленные в классе Path2D

Path2D.Double, Path2D.Float

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

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

WIND_EVEN_ODD, WIND_NON_ZERO

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

Конструктор Описание
Float()
Создает новый пустой объект Path2D одинарной точности с правилом обхода по умолчанию Path2D.WIND_NON_ZERO.
Float(int rule)
Создает новый пустой объект Path2D одинарной точности с указанным правилом обхода, определяющим операции, для которых необходимо задать внутреннюю область пути.
Float(int rule, int initialCapacity)
Создает новый пустой объект Path2D одинарной точности с указанным правилом обхода и заданной начальной емкостью для хранения сегментов пути.
Float(Shape s)
Создает новый объект Path2D одинарной точности из произвольного объекта Shape.
Float(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 void curveTo(float x1, float y1, float x2, float y2, float x3, float 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 lineTo(float x, float y)
Добавляет точку к пути, проводя прямую линию от текущих координат до новых указанных координат, заданных с одинарной точностью.
final void moveTo(double x, double y)
Добавляет точку к пути, перемещаясь к указанным координатам, заданным с двойной точностью.
final void moveTo(float x, float y)
Добавляет точку к пути, перемещаясь к указанным координатам, заданным с одинарной точностью.
final void quadTo(double x1, double y1, double x2, double y2)
Добавляет к пути криволинейный сегмент, определяемый двумя новыми точками, строя квадратичную кривую, которая проходит через текущие координаты и указанные координаты (x2,y2), используя указанную точку (x1,y1) в качестве управляющей точки квадратичного параметрического уравнения.
final void quadTo(float x1, float y1, float x2, float 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

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

Float

public Float()
Создает новый пустой объект Path2D одинарной точности с правилом обхода по умолчанию Path2D.WIND_NON_ZERO.
С момента выпуска:
1.6

Float

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

Float

public Float(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

Float

public Float(Shape s)
Создает новый объект Path2D одинарной точности из произвольного объекта Shape. Вся исходная геометрия и правило обхода этого пути берутся из указанного объекта Shape.
Параметры:
s — указанный объект Shape
Исключения:
NullPointerException — если s равен null
С момента выпуска:
1.6

Float

public Float(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

moveTo

public final void moveTo(float x, float y)
Добавляет точку к пути, перемещаясь к указанным координатам, заданным с одинарной точностью.

Этот метод представляет вариант метода moveTo() с двойной точностью базового класса Path2D, использующий одинарную точность.

Параметры:
x — указанная координата X
y — указанная координата Y
С момента выпуска:
1.6
См. также:
  • Path2D.moveTo(double, double)

lineTo

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

lineTo

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

Этот метод представляет вариант метода lineTo() с двойной точностью базового класса Path2D, использующий одинарную точность.

Параметры:
x — указанная координата X
y — указанная координата Y
С момента выпуска:
1.6
См. также:
  • Path2D.lineTo(double, double)

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

quadTo

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

Этот метод представляет вариант метода quadTo() с двойной точностью базового класса Path2D, использующий одинарную точность.

Параметры:
x1 — координата X управляющей точки квадратичной кривой
y1 — координата Y управляющей точки квадратичной кривой
x2 — координата X конечной точки
y2 — координата Y конечной точки
С момента выпуска:
1.6
См. также:
  • Path2D.quadTo(double, double, double, double)

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

curveTo

public final void curveTo(float x1, float y1, float x2, float y2, float x3, float y3)
Добавляет к пути криволинейный сегмент, определяемый тремя новыми точками, строя кривую Безье, которая проходит через текущие координаты и указанные координаты (x3,y3), используя указанные точки (x1,y1) и (x2,y2) в качестве управляющих точек кривой Безье. Все координаты задаются с одинарной точностью.

Этот метод представляет вариант метода curveTo() с двойной точностью базового класса Path2D, использующий одинарную точность.

Параметры:
x1 — координата X первой управляющей точки кривой Безье
y1 — координата Y первой управляющей точки кривой Безье
x2 — координата X второй управляющей точки кривой Безье
y2 — координата Y второй управляющей точки кривой Безье
x3 — координата X конечной точки
y3 — координата Y конечной точки
С момента выпуска:
1.6
См. также:
  • Path2D.curveTo(double, double, double, double, double, double)

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, применяемый к координатам при их возврате во время итерации, или null, если требуются непреобразованные координаты
Возвращает:
новый объект PathIterator, который независимо проходит геометрию объекта 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.Float.html

Spec-Zone.ru

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