Класс 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() |
|
Rectangle |
getBounds() |
Возвращает целочисленный Rectangle, полностью охватывающий Shape. |
Rectangle2D |
getBounds2D() |
Возвращает ограничивающий прямоугольник Shape с более высокой точностью и большей достоверностью, чем метод getBounds. |
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, getCenterX, getCenterY, getFrame, getHeight, getMaxX, getMaxY, getMinX, getMinY, getPathIterator, getWidth, getX, getY, intersects, isEmpty, setFrame, setFrame, setFrameFromCenter, setFrameFromCenter, setFrameFromDiagonal, setFrameFromDiagonal | Модификатор и тип | Метод | Описание |
|---|---|---|
Object |
clone() |
Создаёт новый объект того же класса с тем же содержимым, что и этот объект. |
boolean |
contains |
Проверяет, находится ли указанная Point2D внутри границы Shape, согласно определению принадлежности внутренней области. |
double |
getCenterX() |
Возвращает X-координату центра ограничивающего прямоугольника Shape с точностью double. |
double |
getCenterY() |
Возвращает Y-координату центра ограничивающего прямоугольника Shape с точностью double. |
Rectangle2D |
getFrame() |
Возвращает ограничивающий Rectangle2D, задающий общую форму этого объекта. |
abstract double |
getHeight() |
Возвращает высоту ограничивающего прямоугольника с точностью double. |
double |
getMaxX() |
Возвращает наибольшую X-координату ограничивающего прямоугольника Shape с точностью double. |
double |
getMaxY() |
Возвращает наибольшую Y-координату ограничивающего прямоугольника Shape с точностью double. |
double |
getMinX() |
Возвращает наименьшую X-координату ограничивающего прямоугольника Shape с точностью double. |
double |
getMinY() |
Возвращает наименьшую Y-координату ограничивающего прямоугольника Shape с точностью double. |
PathIterator |
getPathIterator |
Возвращает объект-итератор, который проходит вдоль границы объекта Shape и предоставляет доступ к упрощённому представлению контура геометрии объекта Shape. |
abstract double |
getWidth() |
Возвращает ширину ограничивающего прямоугольника с точностью double. |
abstract double |
getX() |
Возвращает X-координату верхнего левого угла ограничивающего прямоугольника с точностью double. |
abstract double |
getY() |
Возвращает Y-координату верхнего левого угла ограничивающего прямоугольника с точностью double. |
boolean |
intersects |
Проверяет, пересекается ли внутренняя область Shape с внутренней областью указанного Rectangle2D. |
abstract boolean |
isEmpty() |
Определяет, является ли RectangularShape пустым. |
void |
setFrame |
Задаёт положение и размер ограничивающего прямоугольника этого Shape, используя соответственно указанные Point2D и Dimension2D. |
void |
setFrame |
Задаёт для ограничивающего прямоугольника этого Shape указанный Rectangle2D. |
void |
setFrameFromCenter |
Задаёт ограничивающий прямоугольник этого Shape на основе указанных координат центральной точки и угловой точки. |
void |
setFrameFromCenter |
Задаёт ограничивающий прямоугольник этого Shape на основе указанного центра Point2D и угла Point2D. |
void |
setFrameFromDiagonal |
Задаёт диагональ ограничивающего прямоугольника этого Shape на основе двух указанных координат. |
void |
setFrameFromDiagonal |
Задаёт диагональ ограничивающего прямоугольника этого Shape на основе двух указанных объектов Point2D. |
Методы, объявленные в классе Object
finalize, getClass, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected void |
finalize() |
Устарело, будет удалено: этот элемент API может быть удалён в будущей версии. Финализация устарела и будет удалена в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно в результате уведомления или прерывания. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате уведомления или прерывания, либо истечения определённого времени. |
final void |
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
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()
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)
- Возвращает:
- экземпляр
Rectangle2D, представляющий ограничивающую рамкуShapeс высокой точностью. - С версии:
- 1.2
- См. также:
getBounds
public Rectangle getBounds()
Rectangle, который полностью охватывает Shape. Обратите внимание, что возвращаемый объект Rectangle не обязательно является наименьшей ограничивающей рамкой, охватывающей Shape; гарантируется лишь, что Shape целиком находится внутри указанного объекта Rectangle. Возвращаемый объект Rectangle также может не полностью охватывать Shape, если Shape выходит за ограниченный диапазон целочисленного типа данных. Метод getBounds2D обычно возвращает более точную ограничивающую рамку благодаря большей гибкости представления. Обратите внимание, что определение принадлежности внутренней области может приводить к ситуациям, когда точки на контуре shape не считаются содержащимися в возвращаемом объекте bounds, но только в случаях, когда эти точки также не считаются содержащимися в исходном объекте shape.
Если точка point находится внутри shape согласно методу contains(point), то она должна находиться и внутри возвращаемого объекта ограничивающих границ Rectangle согласно методу contains(point) объекта bounds. В частности:
shape.contains(x,y) влечет bounds.contains(x,y)
Если точка point не находится внутри shape, она все же может содержаться в объекте bounds:
bounds.contains(x,y) не влечет shape.contains(x,y)
- Определено в:
-
getBoundsв интерфейсеShape - Переопределяет:
-
getBoundsв классеRectangularShape - Возвращает:
- целочисленный объект
Rectangle, который полностью охватываетShape. - С версии:
- 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.