Spec-Zone.ru › OpenJDK 24

Класс 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
См. также:
  • Сериализованная форма

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

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

Path2D.Double, Path2D.Float

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

Поля, объявленные в классе java.awt.geom.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 до текущего размера.

Методы, объявленные в классе 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

Методы, объявленные в классе java.lang.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.

Parameters:
x1 - координата X первой контрольной точки Безье
y1 - координата Y первой контрольной точки Безье
x2 - координата X второй контрольной точки Безье
y2 - координата Y второй контрольной точки Безье
x3 - координата X конечной точки
y3 - координата Y конечной точки
Since:
1.6
See Also:
  • 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 игнорируется, и добавленная геометрия регулируется правилом обхода, заданным для этого пути.
Specified by:
append в классе Path2D
Parameters:
pi - объект PathIterator, чья геометрия добавляется к этому пути
connect - логическое значение, контролирующее преобразование начального moveTo сегмента в сегмент lineTo для соединения новой геометрии с существующим путём
Since:
1.6

transform

public final void transform(AffineTransform at)
Преобразует геометрию этого пути с помощью указанного AffineTransform. Геометрия преобразуется на месте, что неизменно изменяет границу, определяемую этим объектом.
Specified by:
transform в классе Path2D
Parameters:
at - AffineTransform, используемое для преобразования области
Since:
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)

Specified by:
getBounds2D в интерфейсе Shape
Returns:
экземпляр Rectangle2D, который представляет собой ограничивающий прямоугольник с высокой точностью Shape.
Since:
1.6
See Also:
  • Shape.getBounds()

getPathIterator

public final PathIterator getPathIterator(AffineTransform at)
Возвращает объект-итератор, который перебирает по границе Shape и предоставляет доступ к геометрии контура Shape. Если указан необязательный AffineTransform, возвращаемые в итерации координаты преобразуются соответствующим образом.

Каждый вызов этого метода возвращает новый объект-итератор PathIterator, который обходит геометрию объекта Shape независимо от других объектов-итераторов PathIterator, используемых одновременно.

Рекомендуется, но не гарантируется, что объекты, реализующие интерфейс Shape, изолируют итерации, которые выполняются, от любых изменений, которые могут произойти в геометрии исходного объекта во время таких итераций.

Итератор для этого класса не потокобезопасен, что означает, что класс Path2D не гарантирует, что изменения в геометрии этого объекта Path2D не повлияют на уже выполняющиеся итерации этой геометрии.

Specified by:
getPathIterator в интерфейсе Shape
Parameters:
at - необязательный AffineTransform, который будет применяться к координатам по мере их возвращения в итерации, или null, если требуются непрообразованные координаты
Returns:
новый объект-итератор PathIterator, который независимо обходит геометрию Shape.
Since:
1.6

clone

public final Object clone()
Создаёт новый объект того же класса, что и этот объект.
Specified by:
clone в классе Path2D
Returns:
клонированный экземпляр.
Throws:
OutOfMemoryError - если памяти недостаточно.
Since:
1.6
See Also:
  • Cloneable

© 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.Float.html

Spec-Zone.ru

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