Класс 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 |
Создает новый пустой объект Path2D одинарной точности с указанным правилом обхода, определяющим операции, для которых необходимо задать внутреннюю область пути. |
Float |
Создает новый пустой объект Path2D одинарной точности с указанным правилом обхода и заданной начальной емкостью для хранения сегментов пути. |
Float |
Создает новый объект Path2D одинарной точности из произвольного объекта Shape. |
Float |
Создает новый объект Path2D одинарной точности из произвольного объекта Shape, преобразованного объектом AffineTransform. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
final void |
append |
Добавляет геометрию указанного объекта PathIterator к пути, при необходимости соединяя новую геометрию с существующими сегментами пути линейным сегментом. |
final Object |
clone() |
Создает новый объект того же класса, что и этот объект. |
final void |
curveTo |
Добавляет к пути криволинейный сегмент, определяемый тремя новыми точками, строя кривую Безье, которая проходит через текущие координаты и указанные координаты (x3,y3), используя указанные точки (x1,y1) и (x2,y2) в качестве управляющих точек кривой Безье. |
final void |
curveTo |
Добавляет к пути криволинейный сегмент, определяемый тремя новыми точками, строя кривую Безье, которая проходит через текущие координаты и указанные координаты (x3,y3), используя указанные точки (x1,y1) и (x2,y2) в качестве управляющих точек кривой Безье. |
final Rectangle2D |
getBounds2D() |
Возвращает ограничивающий прямоугольник с высокой точностью и большей точностью для Shape, чем метод getBounds. |
final PathIterator |
getPathIterator |
Возвращает объект-итератор, который проходит вдоль границы Shape и предоставляет доступ к геометрии контура Shape. |
final void |
lineTo |
Добавляет точку к пути, проводя прямую линию от текущих координат до новых указанных координат, заданных с двойной точностью. |
final void |
lineTo |
Добавляет точку к пути, проводя прямую линию от текущих координат до новых указанных координат, заданных с одинарной точностью. |
final void |
moveTo |
Добавляет точку к пути, перемещаясь к указанным координатам, заданным с двойной точностью. |
final void |
moveTo |
Добавляет точку к пути, перемещаясь к указанным координатам, заданным с одинарной точностью. |
final void |
quadTo |
Добавляет к пути криволинейный сегмент, определяемый двумя новыми точками, строя квадратичную кривую, которая проходит через текущие координаты и указанные координаты (x2,y2), используя указанную точку (x1,y1) в качестве управляющей точки квадратичного параметрического уравнения. |
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
Подробное описание конструкторов
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
- См. также:
Float
public Float(int rule, int initialCapacity)
Path2D одинарной точности с указанным правилом обхода и заданной начальной емкостью для хранения сегментов пути. Это число является предварительной оценкой количества сегментов пути, которые будут добавлены, однако при необходимости емкость хранилища увеличивается, чтобы вместить все добавленные сегменты пути.- Параметры:
-
rule— правило обхода -
initialCapacity— оценка количества сегментов пути - Исключения:
-
IllegalArgumentException— еслиruleне равно ниPath2D.WIND_EVEN_ODD, ниPath2D.WIND_NON_ZERO -
NegativeArraySizeException— еслиinitialCapacityотрицательно - С момента выпуска:
- 1.6
- См. также:
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- Переопределяет:
-
trimToSizeв классеPath2D - С момента выпуска:
- 10
moveTo
moveTo
public final void moveTo(float x, float y)
Этот метод представляет вариант метода moveTo() с двойной точностью базового класса Path2D, использующий одинарную точность.
- Параметры:
-
x— указанная координата X -
y— указанная координата Y - С момента выпуска:
- 1.6
- См. также:
lineTo
lineTo
public final void lineTo(float x, float 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
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
- См. также:
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
- См. также:
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. Геометрия преобразуется на месте, что навсегда изменяет границу, определяемую этим объектом.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, применяемый к координатам при их возврате во время итерации, илиnull, если требуются непреобразованные координаты - Возвращает:
- новый объект
PathIterator, который независимо проходит геометрию объекта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.Float.html