Класс 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 |
Тип замыкания дуги, при котором начало сегмента дуги соединяется прямыми отрезками с центром полного эллипса, а эта точка — с концом сегмента дуги. |
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Это абстрактный класс, который нельзя создать напрямую. |
|
protected |
Это абстрактный класс, который нельзя создать напрямую. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
boolean |
contains |
Определяет, находится ли указанная точка внутри границы дуги. |
boolean |
contains |
Определяет, полностью ли внутренняя область дуги содержит указанный прямоугольник. |
boolean |
contains |
Определяет, полностью ли внутренняя область дуги содержит указанный прямоугольник. |
boolean |
containsAngle |
Определяет, входит ли указанный угол в угловые пределы дуги. |
boolean |
equals |
Определяет, равен ли указанный Object этому Arc2D. |
abstract double |
getAngleExtent() |
Возвращает угловую протяжённость дуги. |
abstract double |
getAngleStart() |
Возвращает начальный угол дуги. |
int |
getArcType() |
|
Rectangle2D |
getBounds2D() |
Возвращает ограничивающий прямоугольник дуги с высокой точностью. |
Point2D |
getEndPoint() |
Возвращает конечную точку дуги. |
PathIterator |
getPathIterator |
Возвращает объект итератора, который задаёт границу дуги. |
Point2D |
getStartPoint() |
Возвращает начальную точку дуги. |
int |
hashCode() |
Возвращает хеш-код этого Arc2D. |
boolean |
intersects |
Определяет, пересекается ли внутренняя область дуги с внутренней областью указанного прямоугольника. |
protected abstract Rectangle2D |
makeBounds |
Создаёт Rectangle2D соответствующей точности для хранения параметров, рассчитанных как ограничивающий прямоугольник этой дуги. |
abstract void |
setAngleExtent |
Задаёт угловую протяжённость этой дуги указанным значением типа double. |
void |
setAngles |
Задаёт начальный угол и угловую протяжённость этой дуги, используя две пары координат. |
void |
setAngles |
Задаёт начальный угол и угловую протяжённость этой дуги, используя две точки. |
abstract void |
setAngleStart |
Задаёт начальный угол этой дуги указанным значением типа double. |
void |
setAngleStart |
Задаёт начальный угол этой дуги как угол, определяемый указанной точкой относительно центра дуги. |
abstract void |
setArc |
Задаёт положение, размер, угловую протяжённость и тип замыкания этой дуги указанными значениями типа double. |
void |
setArc |
Задаёт для этой дуги те же параметры, что и у указанной дуги. |
void |
setArc |
Задаёт положение, размер, угловую протяжённость и тип замыкания этой дуги указанными значениями. |
void |
setArc |
Задаёт положение, размер, угловую протяжённость и тип замыкания этой дуги указанными значениями. |
void |
setArcByCenter |
Задаёт положение, границы, угловую протяжённость и тип замыкания этой дуги указанными значениями. |
void |
setArcByTangent |
Задаёт положение, границы и угловую протяжённость этой дуги указанным значением. |
void |
setArcType |
Задаёт тип замыкания этой дуги указанным значением: OPEN, CHORD или PIE. |
void |
setFrame |
Задаёт положение и размер ограничивающего прямоугольника этого 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
Подробное описание полей
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
protected Arc2D(int type)
Подробное описание методов
getAngleStart
public abstract double getAngleStart()
- Возвращает:
- Значение типа double, представляющее начальный угол дуги в градусах.
- Начиная с:
- 1.2
- См. также:
getAngleExtent
public abstract double getAngleExtent()
- Возвращает:
- Значение типа double, представляющее угловую протяжённость дуги в градусах.
- Начиная с:
- 1.2
- См. также:
getArcType
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)
- Параметры:
-
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)
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)
setArcByTangent
public void setArcByTangent(Point2D p1, Point2D p2, Point2D p3, double radius)
- Параметры:
-
p1— первая точка, задающая дугу. Начальный угол дуги является касательным к прямой, заданной точками (p1, p2). -
p2— вторая точка, задающая дугу. Начальный угол дуги является касательным к прямой, заданной точками (p1, p2). Конечный угол дуги является касательным к прямой, заданной точками (p2, p3). -
p3— третья точка, задающая дугу. Конечный угол дуги является касательным к прямой, заданной точками (p2, p3). -
radius— радиус дуги. - Начиная с:
- 1.2
setAngleStart
public abstract void setAngleStart(double angSt)
- Параметры:
-
angSt— начальный угол дуги в градусах. - Начиная с:
- 1.2
- См. также:
setAngleExtent
public abstract void setAngleExtent(double angExt)
- Параметры:
-
angExt— угловая протяжённость дуги в градусах. - Начиная с:
- 1.2
- См. также:
setAngleStart
public void setAngleStart(Point2D p)
- Параметры:
-
p—Point2D, задающая начальный угол. - Начиная с:
- 1.2
- См. также:
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
- См. также:
setFrame
public void setFrame(double x, double y, double w, double h)
Shape в соответствии с заданными значениями прямоугольника. Обратите внимание, что дуга частично вписана в ограничивающий прямоугольник этого RectangularShape.- Определено в:
-
setFrameв классеRectangularShape - Параметры:
-
x— координата X верхнего левого угла указанной прямоугольной фигуры -
y— координата Y верхнего левого угла указанной прямоугольной фигуры -
w— ширина указанной прямоугольной фигуры -
h— высота указанной прямоугольной фигуры - Начиная с:
- 1.2
- См. также:
getBounds2D
public Rectangle2D getBounds2D()
Arc2D, которая находится между начальным и конечным углами, а также сектор, если для этого Arc2D задан тип замыкания PIE. Этот метод отличается от getBounds тем, что метод getBounds возвращает только границы охватывающего эллипса этого Arc2D, не учитывая начальный и конечный углы этого Arc2D.
- Возвращает:
Rectangle2D, представляющий ограничивающий прямоугольник дуги.- Начиная с:
- 1.2
- См. также:
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
- См. также:
contains
public boolean contains(double x, double y, double w, double h)
- Параметры:
-
x— координата X верхнего левого угла прямоугольника. -
y— координата Y верхнего левого угла прямоугольника. -
w— ширина прямоугольника. -
h— высота прямоугольника. - Возвращает:
-
true, если дуга содержит прямоугольник, иfalse, если дуга не содержит прямоугольник. - Начиная с:
- 1.2
- См. также:
contains
public boolean contains(Rectangle2D r)
- Определено в:
-
containsв интерфейсеShape - Переопределяет:
-
containsв классеRectangularShape - Параметры:
-
r—Rectangle2Dдля проверки. - Возвращает:
-
true, если дуга содержит прямоугольник, иfalse, если дуга не содержит прямоугольник. - Начиная с:
- 1.2
- См. также:
getPathIterator
public PathIterator getPathIterator(AffineTransform at)
Arc2D гарантирует, что изменения геометрии дуги не повлияют на уже выполняющиеся итерации по этой геометрии.- Параметры:
-
at— необязательныйAffineTransform, применяемый к координатам при их возврате в ходе итерации, или null, если нужны координаты без преобразования. - Возвращает:
PathIterator, задающий границу дуги.- Начиная с:
- 1.2
hashCode
equals
public boolean equals(Object obj)
Object этому Arc2D. Указанный Object равен этому Arc2D, если он является экземпляром Arc2D и его положение, размер, угловая протяжённость дуги и тип совпадают с соответствующими значениями этого Arc2D.
© 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