Класс 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 |
Создаёт новый пустой объект 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 | Модификатор и тип | Метод | Описание |
|---|---|---|
final void |
append |
Добавляет геометрию указанного объекта Shape к пути, при необходимости соединяя новую геометрию с существующими сегментами пути отрезком. |
final void |
closePath() |
Замыкает текущий подпуть, проводя прямую линию обратно к координатам последнего moveTo. |
final boolean |
contains |
Проверяет, находятся ли указанные координаты внутри границы Shape, согласно определению внутренней области. |
final boolean |
contains |
Проверяет, полностью ли внутренняя область Shape содержит указанную прямоугольную область. |
static boolean |
contains |
Проверяет, находятся ли указанные координаты внутри замкнутой границы указанного объекта PathIterator. |
static boolean |
contains |
Проверяет, находится ли указанная прямоугольная область целиком внутри замкнутой границы указанного объекта PathIterator. |
static boolean |
contains |
Проверяет, находится ли указанный объект Point2D внутри замкнутой границы указанного объекта PathIterator. |
static boolean |
contains |
Проверяет, находится ли указанный объект Rectangle2D целиком внутри замкнутой границы указанного объекта PathIterator. |
final boolean |
contains |
Проверяет, находится ли указанный объект Point2D внутри границы Shape, согласно определению внутренней области. |
final boolean |
contains |
Проверяет, полностью ли внутренняя область Shape содержит указанный объект Rectangle2D. |
final Shape |
createTransformedShape |
Возвращает новый объект Shape, представляющий преобразованную версию этого объекта Path2D. |
final Rectangle |
getBounds() |
Возвращает целочисленный объект Rectangle, полностью охватывающий Shape. |
final Point2D |
getCurrentPoint() |
Возвращает координаты, последними добавленные в конец пути, в виде объекта Point2D. |
final PathIterator |
getPathIterator |
Возвращает объект-итератор, который проходит вдоль границы Shape и предоставляет доступ к упрощённому представлению геометрии контура Shape. |
final int |
getWindingRule() |
Возвращает правило обхода для заливки. |
final boolean |
intersects |
Проверяет, пересекается ли внутренняя область Shape с внутренней областью указанной прямоугольной области. |
static boolean |
intersects |
Проверяет, пересекается ли внутренняя область указанного объекта PathIterator с внутренней областью указанного набора прямоугольных координат. |
static boolean |
intersects |
Проверяет, пересекается ли внутренняя область указанного объекта PathIterator с внутренней областью указанного объекта Rectangle2D. |
final boolean |
intersects |
Проверяет, пересекается ли внутренняя область Shape с внутренней областью указанного объекта Rectangle2D. |
final void |
reset() |
Сбрасывает путь, делая его пустым. |
final void |
setWindingRule |
Устанавливает для этого пути указанное правило обхода. |
Методы, объявленные в классе Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
boolean |
equals |
Показывает, равен ли какой-либо другой объект этому объекту. |
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 |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова 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
- См. также:
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 игнорируется, а для добавленной геометрии применяется правило обхода контуров, заданное для этого контура.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.