Spec-Zone.ru › OpenJDK 25

Класс Arc2D

java.lang.Object
java.awt.geom.RectangularShape
java.awt.geom.Arc2D
Все реализуемые интерфейсы:
Shape, Cloneable
Прямые известные подклассы:
Arc2D.Double, Arc2D.Float
public abstract class Arc2D extends RectangularShape
Arc2D — абстрактный суперкласс для всех объектов, хранящих двумерную дугу, заданную ограничивающим прямоугольником, начальным углом, угловой протяжённостью (длиной дуги) и типом замыкания (OPEN, CHORD или PIE).

Дуга является частью полного эллипса, вписанного в ограничивающий прямоугольник родительского объекта RectangularShape. Углы задаются относительно неквадратного ограничивающего прямоугольника таким образом, что угол в 45 градусов всегда лежит на линии от центра эллипса до верхнего правого угла ограничивающего прямоугольника. В результате, если ограничивающий прямоугольник заметно длиннее по одной оси, чем по другой, углы начала и конца сегмента дуги будут смещены дальше вдоль более длинной оси рамки.

Фактическое представление координат в хранилище определяется подклассом.

Начиная с:
1.2

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

Модификатор и тип Класс Описание
static class  Arc2D.Double
Этот класс определяет дугу, заданную с точностью double.
static class  Arc2D.Float
Этот класс определяет дугу, заданную с точностью float.

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

Модификатор и тип Поле Описание
static final int CHORD
Тип замыкания дуги, при котором начало и конец сегмента дуги соединяются прямым отрезком.
static final int OPEN
Тип замыкания открытой дуги без сегментов пути, соединяющих два конца сегмента дуги.
static final int PIE
Тип замыкания дуги, при котором начало сегмента дуги соединяется прямыми отрезками с центром полного эллипса, а эта точка — с концом сегмента дуги.

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

Arc2D()
Arc2D(int type)
Модификатор Конструктор Описание
protected
Это абстрактный класс, который нельзя создать напрямую.
protected
Это абстрактный класс, который нельзя создать напрямую.

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

Модификатор и тип Метод Описание
boolean contains(double x, double y)
Определяет, находится ли указанная точка внутри границы дуги.
boolean contains(double x, double y, double w, double h)
Определяет, полностью ли внутренняя область дуги содержит указанный прямоугольник.
boolean contains(Rectangle2D r)
Определяет, полностью ли внутренняя область дуги содержит указанный прямоугольник.
boolean containsAngle(double angle)
Определяет, входит ли указанный угол в угловые пределы дуги.
boolean equals(Object obj)
Определяет, равен ли указанный Object этому Arc2D.
abstract double getAngleExtent()
Возвращает угловую протяжённость дуги.
abstract double getAngleStart()
Возвращает начальный угол дуги.
int getArcType()
Возвращает тип замыкания дуги: OPEN, CHORD или PIE.
Rectangle2D getBounds2D()
Возвращает ограничивающий прямоугольник дуги с высокой точностью.
Point2D getEndPoint()
Возвращает конечную точку дуги.
PathIterator getPathIterator(AffineTransform at)
Возвращает объект итератора, который задаёт границу дуги.
Point2D getStartPoint()
Возвращает начальную точку дуги.
int hashCode()
Возвращает хеш-код этого Arc2D.
boolean intersects(double x, double y, double w, double h)
Определяет, пересекается ли внутренняя область дуги с внутренней областью указанного прямоугольника.
protected abstract Rectangle2D makeBounds(double x, double y, double w, double h)
Создаёт Rectangle2D соответствующей точности для хранения параметров, рассчитанных как ограничивающий прямоугольник этой дуги.
abstract void setAngleExtent(double angExt)
Задаёт угловую протяжённость этой дуги указанным значением типа double.
void setAngles(double x1, double y1, double x2, double y2)
Задаёт начальный угол и угловую протяжённость этой дуги, используя две пары координат.
void setAngles(Point2D p1, Point2D p2)
Задаёт начальный угол и угловую протяжённость этой дуги, используя две точки.
abstract void setAngleStart(double angSt)
Задаёт начальный угол этой дуги указанным значением типа double.
void setAngleStart(Point2D p)
Задаёт начальный угол этой дуги как угол, определяемый указанной точкой относительно центра дуги.
abstract void setArc(double x, double y, double w, double h, double angSt, double angExt, int closure)
Задаёт положение, размер, угловую протяжённость и тип замыкания этой дуги указанными значениями типа double.
void setArc(Arc2D a)
Задаёт для этой дуги те же параметры, что и у указанной дуги.
void setArc(Point2D loc, Dimension2D size, double angSt, double angExt, int closure)
Задаёт положение, размер, угловую протяжённость и тип замыкания этой дуги указанными значениями.
void setArc(Rectangle2D rect, double angSt, double angExt, int closure)
Задаёт положение, размер, угловую протяжённость и тип замыкания этой дуги указанными значениями.
void setArcByCenter(double x, double y, double radius, double angSt, double angExt, int closure)
Задаёт положение, границы, угловую протяжённость и тип замыкания этой дуги указанными значениями.
void setArcByTangent(Point2D p1, Point2D p2, Point2D p3, double radius)
Задаёт положение, границы и угловую протяжённость этой дуги указанным значением.
void setArcType(int type)
Задаёт тип замыкания этой дуги указанным значением: OPEN, CHORD или PIE.
void setFrame(double x, double y, double w, double h)
Задаёт положение и размер ограничивающего прямоугольника этого Shape указанными прямоугольными значениями.

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

clone, contains, getBounds, getCenterX, getCenterY, getFrame, getHeight, getMaxX, getMaxY, getMinX, getMinY, getPathIterator, getWidth, getX, getY, intersects, isEmpty, setFrame, setFrame, setFrameFromCenter, setFrameFromCenter, setFrameFromDiagonal, setFrameFromDiagonal

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

finalize, getClass, notify, notifyAll, toString, wait, wait, wait

Подробное описание полей

OPEN

public static final int OPEN
Тип замыкания для открытой дуги, у которой нет отрезков пути, соединяющих два конца сегмента дуги.
Начиная с:
1.2
См. также:
  • Значения константных полей

CHORD

public static final int CHORD
Тип замыкания для дуги, замкнутой прямым отрезком, проведённым от начала сегмента дуги до его конца.
Начиная с:
1.2
См. также:
  • Значения константных полей

PIE

public static final int PIE
Тип замыкания для дуги, замкнутой прямыми отрезками, проведёнными от начала сегмента дуги к центру полного эллипса, а затем от этой точки до конца сегмента дуги.
Начиная с:
1.2
См. также:
  • Значения константных полей

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

Arc2D

protected Arc2D()
Это абстрактный класс, который нельзя создать напрямую. Для создания доступны подклассы с реализациями для конкретных типов; они предоставляют ряд форматов для хранения данных, необходимых для работы различных методов доступа, описанных ниже.

Этот конструктор создаёт объект с типом замыкания по умолчанию OPEN. Он предназначен только для обеспечения сериализации подклассов.

См. также:
  • Arc2D.Float
  • Arc2D.Double

Arc2D

protected Arc2D(int type)
Это абстрактный класс, который нельзя создать напрямую. Для создания доступны подклассы с реализациями для конкретных типов; они предоставляют ряд форматов для хранения данных, необходимых для работы различных методов доступа, описанных ниже.
Параметры:
type — тип замыкания этой дуги: OPEN, CHORD или PIE.
Начиная с:
1.2
См. также:
  • Arc2D.Float
  • Arc2D.Double

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

getAngleStart

public abstract double getAngleStart()
Возвращает начальный угол дуги.
Возвращает:
Значение типа double, представляющее начальный угол дуги в градусах.
Начиная с:
1.2
См. также:
  • setAngleStart(double)

getAngleExtent

public abstract double getAngleExtent()
Возвращает угловую протяжённость дуги.
Возвращает:
Значение типа double, представляющее угловую протяжённость дуги в градусах.
Начиная с:
1.2
См. также:
  • setAngleExtent(double)

getArcType

public int getArcType()
Возвращает тип замыкания дуги: OPEN, CHORD или PIE.
Возвращает:
Одна из целочисленных констант типа замыкания, определённых в этом классе.
Начиная с:
1.2
См. также:
  • setArcType(int)

getStartPoint

public Point2D getStartPoint()
Возвращает начальную точку дуги. Эта точка является пересечением луча, проведённого из центра под углом, заданным начальным углом, и эллиптической границы дуги.
Возвращает:
Объект Point2D, представляющий координаты x,y начальной точки дуги.
Начиная с:
1.2

getEndPoint

public Point2D getEndPoint()
Возвращает конечную точку дуги. Эта точка является пересечением луча, проведённого из центра под углом, равным сумме начального угла и угловой протяжённости дуги, и эллиптической границы дуги.
Возвращает:
Объект Point2D, представляющий координаты x,y конечной точки дуги.
Начиная с:
1.2

setArc

public abstract void setArc(double x, double y, double w, double h, double angSt, double angExt, int closure)
Устанавливает положение, размер, угловые протяжённости и тип замыкания этой дуги в соответствии с заданными значениями типа double.
Параметры:
x — координата X верхнего левого угла дуги.
y — координата Y верхнего левого угла дуги.
w — общая ширина полного эллипса, частью которого является эта дуга.
h — общая высота полного эллипса, частью которого является эта дуга.
angSt — начальный угол дуги в градусах.
angExt — угловая протяжённость дуги в градусах.
closure — тип замыкания дуги: OPEN, CHORD или PIE.
Начиная с:
1.2

setArc

public void setArc(Point2D loc, Dimension2D size, double angSt, double angExt, int closure)
Устанавливает положение, размер, угловые протяжённости и тип замыкания этой дуги в соответствии с заданными значениями.
Параметры:
loc — Point2D, задающий координаты верхнего левого угла дуги.
size — Dimension2D, задающий ширину и высоту полного эллипса, частью которого является эта дуга.
angSt — начальный угол дуги в градусах.
angExt — угловая протяжённость дуги в градусах.
closure — тип замыкания дуги: OPEN, CHORD или PIE.
Начиная с:
1.2

setArc

public void setArc(Rectangle2D rect, double angSt, double angExt, int closure)
Устанавливает положение, размер, угловые протяжённости и тип замыкания этой дуги в соответствии с заданными значениями.
Параметры:
rect — ограничивающий прямоугольник, задающий внешнюю границу полного эллипса, частью которого является эта дуга.
angSt — начальный угол дуги в градусах.
angExt — угловая протяжённость дуги в градусах.
closure — тип замыкания дуги: OPEN, CHORD или PIE.
Начиная с:
1.2

setArc

public void setArc(Arc2D a)
Задаёт для этой дуги те же параметры, что и у указанной дуги.
Параметры:
a — Arc2D, значения которого используются для задания параметров дуги.
Начиная с:
1.2

setArcByCenter

public void setArcByCenter(double x, double y, double radius, double angSt, double angExt, int closure)
Устанавливает положение, границы, угловые протяжённости и тип замыкания этой дуги в соответствии с заданными значениями. Дуга задаётся центральной точкой и радиусом, а не ограничивающим прямоугольником полного эллипса.
Параметры:
x — координата X центра дуги.
y — координата Y центра дуги.
radius — радиус дуги.
angSt — начальный угол дуги в градусах.
angExt — угловая протяжённость дуги в градусах.
closure — тип замыкания дуги: OPEN, CHORD или PIE.
Начиная с:
1.2

setArcByTangent

public void setArcByTangent(Point2D p1, Point2D p2, Point2D p3, double radius)
Устанавливает положение, границы и угловые протяжённости этой дуги в соответствии с заданным значением. Начальный угол дуги является касательным к прямой, заданной точками (p1, p2), конечный угол — касательным к прямой, заданной точками (p2, p3), а радиус дуги равен заданному значению.
Параметры:
p1 — первая точка, задающая дугу. Начальный угол дуги является касательным к прямой, заданной точками (p1, p2).
p2 — вторая точка, задающая дугу. Начальный угол дуги является касательным к прямой, заданной точками (p1, p2). Конечный угол дуги является касательным к прямой, заданной точками (p2, p3).
p3 — третья точка, задающая дугу. Конечный угол дуги является касательным к прямой, заданной точками (p2, p3).
radius — радиус дуги.
Начиная с:
1.2

setAngleStart

public abstract void setAngleStart(double angSt)
Устанавливает начальный угол этой дуги в соответствии с заданным значением типа double.
Параметры:
angSt — начальный угол дуги в градусах.
Начиная с:
1.2
См. также:
  • getAngleStart()

setAngleExtent

public abstract void setAngleExtent(double angExt)
Устанавливает угловую протяжённость этой дуги в соответствии с заданным значением типа double.
Параметры:
angExt — угловая протяжённость дуги в градусах.
Начиная с:
1.2
См. также:
  • getAngleExtent()

setAngleStart

public void setAngleStart(Point2D p)
Устанавливает начальный угол этой дуги равным углу, который заданная точка образует относительно центра дуги. Угловая протяжённость дуги останется неизменной.
Параметры:
p — Point2D, задающая начальный угол.
Начиная с:
1.2
См. также:
  • getAngleStart()

setAngles

public void setAngles(double x1, double y1, double x2, double y2)
Устанавливает начальный угол и угловую протяжённость этой дуги, используя два набора координат. Первый набор координат используется для определения угла начальной точки относительно центра дуги. Второй набор координат используется для определения угла конечной точки относительно центра дуги. Дуга всегда будет непустой и будет проходить против часовой стрелки от первой точки ко второй.
Параметры:
x1 — координата X начальной точки дуги.
y1 — координата Y начальной точки дуги.
x2 — координата X конечной точки дуги.
y2 — координата Y конечной точки дуги.
Начиная с:
1.2

setAngles

public void setAngles(Point2D p1, Point2D p2)
Устанавливает начальный угол и угловую протяжённость этой дуги, используя две точки. Первая точка используется для определения угла начальной точки относительно центра дуги. Вторая точка используется для определения угла конечной точки относительно центра дуги. Дуга всегда будет непустой и будет проходить против часовой стрелки от первой точки ко второй.
Параметры:
p1 — Point2D, задающая начальную точку дуги.
p2 — Point2D, задающая конечную точку дуги.
Начиная с:
1.2

setArcType

public void setArcType(int type)
Устанавливает для этой дуги указанный тип замыкания: OPEN, CHORD или PIE.
Параметры:
type — целочисленная константа, представляющая тип замыкания этой дуги: OPEN, CHORD или PIE.
Вызывает исключение:
IllegalArgumentException — если type не равно 0, 1 или 2.+
Начиная с:
1.2
См. также:
  • getArcType()

setFrame

public void setFrame(double x, double y, double w, double h)
Устанавливает положение и размер ограничивающего прямоугольника этого Shape в соответствии с заданными значениями прямоугольника. Обратите внимание, что дуга частично вписана в ограничивающий прямоугольник этого RectangularShape.
Определено в:
setFrame в классе RectangularShape
Параметры:
x — координата X верхнего левого угла указанной прямоугольной фигуры
y — координата Y верхнего левого угла указанной прямоугольной фигуры
w — ширина указанной прямоугольной фигуры
h — высота указанной прямоугольной фигуры
Начиная с:
1.2
См. также:
  • RectangularShape.getFrame()

getBounds2D

public Rectangle2D getBounds2D()
Возвращает ограничивающий прямоугольник дуги с высокой точностью. Ограничивающий прямоугольник содержит только ту часть этого Arc2D, которая находится между начальным и конечным углами, а также сектор, если для этого Arc2D задан тип замыкания PIE.

Этот метод отличается от getBounds тем, что метод getBounds возвращает только границы охватывающего эллипса этого Arc2D, не учитывая начальный и конечный углы этого Arc2D.

Возвращает:
Rectangle2D, представляющий ограничивающий прямоугольник дуги.
Начиная с:
1.2
См. также:
  • Shape.getBounds()

makeBounds

protected abstract Rectangle2D makeBounds(double x, double y, double w, double h)
Создаёт Rectangle2D с подходящей точностью для хранения параметров, рассчитанных как ограничивающий прямоугольник этой дуги.
Параметры:
x — координата X верхнего левого угла ограничивающего прямоугольника.
y — координата Y верхнего левого угла ограничивающего прямоугольника.
w — ширина ограничивающего прямоугольника.
h — высота ограничивающего прямоугольника.
Возвращает:
Rectangle2D, являющийся ограничивающим прямоугольником этой дуги.
Начиная с:
1.2

containsAngle

public boolean containsAngle(double angle)
Определяет, находится ли указанный угол в пределах угловой протяжённости дуги.
Параметры:
angle — угол для проверки.
Возвращает:
true, если дуга содержит этот угол, и false, если дуга его не содержит.
Начиная с:
1.2

contains

public boolean contains(double x, double y)
Определяет, находится ли указанная точка внутри границы дуги.
Параметры:
x — координата X проверяемой точки.
y — координата Y проверяемой точки.
Возвращает:
true, если точка находится в пределах границ дуги, и false, если точка находится за пределами границ дуги.
Начиная с:
1.2

intersects

public boolean intersects(double x, double y, double w, double h)
Определяет, пересекается ли внутренняя область дуги с внутренней областью указанного прямоугольника.
Параметры:
x — координата X верхнего левого угла прямоугольника.
y — координата Y верхнего левого угла прямоугольника.
w — ширина прямоугольника.
h — высота прямоугольника.
Возвращает:
true, если дуга пересекается с прямоугольником, и false, если дуга не пересекается с прямоугольником.
Начиная с:
1.2
См. также:
  • Area

contains

public boolean contains(double x, double y, double w, double h)
Определяет, полностью ли внутренняя область дуги содержит указанный прямоугольник.
Параметры:
x — координата X верхнего левого угла прямоугольника.
y — координата Y верхнего левого угла прямоугольника.
w — ширина прямоугольника.
h — высота прямоугольника.
Возвращает:
true, если дуга содержит прямоугольник, и false, если дуга не содержит прямоугольник.
Начиная с:
1.2
См. также:
  • Area
  • Shape.intersects(double, double, double, double)

contains

public boolean contains(Rectangle2D r)
Определяет, полностью ли внутренняя область дуги содержит указанный прямоугольник.
Определено в:
contains в интерфейсе Shape
Переопределяет:
contains в классе RectangularShape
Параметры:
r — Rectangle2D для проверки.
Возвращает:
true, если дуга содержит прямоугольник, и false, если дуга не содержит прямоугольник.
Начиная с:
1.2
См. также:
  • Shape.contains(double, double, double, double)

getPathIterator

public PathIterator getPathIterator(AffineTransform at)
Возвращает объект итератора, задающий границу дуги. Этот итератор является потокобезопасным. Arc2D гарантирует, что изменения геометрии дуги не повлияют на уже выполняющиеся итерации по этой геометрии.
Параметры:
at — необязательный AffineTransform, применяемый к координатам при их возврате в ходе итерации, или null, если нужны координаты без преобразования.
Возвращает:
PathIterator, задающий границу дуги.
Начиная с:
1.2

hashCode

public int hashCode()
Возвращает хеш-код этого Arc2D.
Переопределяет:
hashCode в классе Object
Возвращает:
хеш-код этого Arc2D.
Начиная с:
1.6
См. также:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(Object)

equals

public boolean equals(Object obj)
Определяет, равен ли указанный Object этому Arc2D. Указанный Object равен этому Arc2D, если он является экземпляром Arc2D и его положение, размер, угловая протяжённость дуги и тип совпадают с соответствующими значениями этого Arc2D.
Переопределяет:
equals в классе Object
Параметры:
obj — Object для сравнения с этим Arc2D.
Возвращает:
true, если obj является экземпляром Arc2D и имеет те же значения; в противном случае — false.
Начиная с:
1.6
См. также:
  • Object.hashCode()
  • HashMap

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и работающие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/java/awt/geom/Arc2D.html

Spec-Zone.ru

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