Spec-Zone.ru › OpenJDK 27

Класс GeneralPath

java.lang.Object
java.awt.geom.Path2D
java.awt.geom.Path2D.Float
java.awt.geom.GeneralPath
Все реализованные интерфейсы:
Shape, Serializable, Cloneable
public final class GeneralPath extends Path2D.Float
Класс GeneralPath представляет собой геометрический путь, построенный из прямых линий, а также квадратичных и кубических кривых (кривых Безье). Он может содержать несколько подпутей.

GeneralPath — устаревший final-класс, в точности реализующий поведение своего суперкласса Path2D.Float. Вместе с Path2D.Double классы Path2D обеспечивают полную реализацию обобщённого геометрического пути, поддерживающую все возможности интерфейсов Shape и PathIterator и позволяющую явно выбирать различные уровни точности внутренних координат.

Используйте Path2D.Float (или этот устаревший подкласс GeneralPath) для данных, которые можно представить и использовать с точностью чисел с плавающей запятой. Используйте Path2D.Double для данных, которым требуется точность или диапазон значений double precision.

С версии:
1.2
См. также:
  • Сериализованная форма

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

Вложенные классы и интерфейсы, объявленные в классе 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
Правило ненулевого числа оборотов для определения внутренней области пути.

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

Конструктор Описание
GeneralPath()
Создаёт новый пустой объект GeneralPath одинарной точности с правилом обхода по умолчанию Path2D.WIND_NON_ZERO.
GeneralPath(int rule)
Создаёт новый объект GeneralPath с указанным правилом обхода, определяющим операции, для которых необходимо задать внутреннюю область пути.
GeneralPath(int rule, int initialCapacity)
Создаёт новый объект GeneralPath с указанным правилом обхода и заданной начальной ёмкостью для хранения координат пути.
GeneralPath(Shape s)
Создаёт новый объект GeneralPath на основе произвольного объекта Shape.

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

Методы, объявленные в классе Path2D.Float

append, clone, curveTo, curveTo, getBounds2D, getPathIterator, lineTo, lineTo, moveTo, moveTo, quadTo, quadTo, transform, trimToSize
Модификатор и тип Метод Описание
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, либо до истечения заданного промежутка реального времени.

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

GeneralPath

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

GeneralPath

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

GeneralPath

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

GeneralPath

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

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по 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