Spec-Zone.ru › OpenJDK 27

Класс 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
Модификатор и тип Класс Описание
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
Правило ненулевого числа обходов для определения внутренней области пути.

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

Конструктор Описание
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
Модификатор и тип Метод Описание
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, либо до истечения заданного промежутка реального времени.

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

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