Класс Arc2D
- Все реализованные интерфейсы:
-
Shape,Cloneable
- Прямые известные подклассы:
-
Arc2D.Double,Arc2D.Float
public abstract class Arc2D extends RectangularShape
Arc2D является абстрактным суперклассом для всех объектов, хранящих дугу 2D, определённую прямоугольной рамкой, начальным углом, угловым протяжением (длиной дуги) и типом замкнутости (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 в указанные прямоугольные значения. |
Методы, объявленные в классе java.awt.geom.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
- Since:
- 1.2
- См. также:
CHORD
public static final int CHORD
- Since:
- 1.2
- См. также:
PIE
public static final int PIE
- Since:
- 1.2
- См. также:
Подробное описание конструкторов
Arc2D
protected Arc2D()
Этот конструктор создаёт объект с типом закрытия по умолчанию OPEN. Он предоставляется только для обеспечения сериализации подклассов.
- См. также:
Arc2D
protected Arc2D(int type)
- Параметры:
-
type- Тип закрытия этой дуги:OPEN,CHORDилиPIE. - Since:
- 1.2
- См. также:
Подробное описание методов
getAngleStart
public abstract double getAngleStart()
- Возвращает:
- Значение типа double, представляющее начальный угол дуги в градусах.
- Since:
- 1.2
- См. также:
getAngleExtent
public abstract double getAngleExtent()
- Возвращает:
- Значение типа double, представляющее угловое протяжение дуги в градусах.
- Since:
- 1.2
- См. также:
getArcType
public int getArcType()
- Возвращает:
- Одно из целочисленных постоянных значений типа закрытия, определенных в этом классе.
- Since:
- 1.2
- См. также:
getStartPoint
public Point2D getStartPoint()
- Возвращает:
- Объект типа
Point2Dпредставляющий координаты x,y начальной точки дуги. - Since:
- 1.2
getEndPoint
public Point2D getEndPoint()
- Возвращает:
- Объект типа
Point2Dпредставляющий координаты x,y конечной точки дуги. - Since:
- 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. - Since:
- 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. - Since:
- 1.2
setArc
public void setArc(Rectangle2D rect, double angSt, double angExt, int closure)
- Параметры:
-
rect- Прямоугольник, определяющий внешнюю границу полного эллипса, частью которого является эта дуга. -
angSt- Начальный угол дуги в градусах. -
angExt- Угловое протяжение дуги в градусах. -
closure- Тип закрытия дуги:OPEN,CHORDилиPIE. - Since:
- 1.2
setArc
public void setArc(Arc2D a)
- Параметры:
-
a-Arc2Dдля установки значений дуги. - Since:
- 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. - Since:
- 1.2
setArcByTangent
public void setArcByTangent(Point2D p1, Point2D p2, Point2D p3, double radius)
- Параметры:
-
p1- Первая точка, определяющая дугу. Начальный угол дуги касается прямой, заданной точками (p1, p2). -
p2- Вторая точка, определяющая дугу. Начальный угол дуги касается прямой, заданной точками (p1, p2). Конечный угол дуги касается прямой, заданной точками (p2, p3). -
p3- Третья точка, определяющая дугу. Конечный угол дуги касается прямой, заданной точками (p2, p3). -
radius- Радиус дуги. - Since:
- 1.2
setAngleStart
public abstract void setAngleStart(double angSt)
- Параметры:
-
angSt- Начальный угол дуги в градусах. - Since:
- 1.2
- См. также:
setAngleExtent
public abstract void setAngleExtent(double angExt)
- Parameters:
-
angExt- Угловой охват дуги в градусах. - Since:
- 1.2
- See Also:
setAngleStart
public void setAngleStart(Point2D p)
- Parameters:
-
p- Точка, определяющая начальный угол. - Since:
- 1.2
- See Also:
setAngles
public void setAngles(double x1, double y1, double x2, double y2)
- Parameters:
-
x1- Координата X начальной точки дуги. -
y1- Координата Y начальной точки дуги. -
x2- Координата X конечной точки дуги. -
y2- Координата Y конечной точки дуги. - Since:
- 1.2
setAngles
public void setAngles(Point2D p1, Point2D p2)
- Parameters:
-
p1- Точка, определяющая начальную точку дуги. -
Point2D- Точка, определяющая конечную точку дуги. - Since:
- 1.2
setArcType
public void setArcType(int type)
OPEN, CHORD, или PIE. - Parameters:
-
type- Целочисленная константа, представляющая тип закрытия этой дуги:OPEN,CHORD, илиPIE. - Throws:
-
IllegalArgumentException- если значениеtypeне равно 0, 1 или 2. - Since:
- 1.2
- See Also:
setFrame
public void setFrame(double x, double y, double w, double h)
- Specified by:
-
setFrameв классеRectangularShape - Parameters:
-
x- координата X верхнего левого угла указанной прямоугольной фигуры -
y- координата Y верхнего левого угла указанной прямоугольной фигуры -
w- ширина указанной прямоугольной фигуры -
h- высота указанной прямоугольной фигуры - Since:
- 1.2
- See Also:
getBounds2D
public Rectangle2D getBounds2D()
PIE. Этот метод отличается от getBounds тем, что метод getBounds возвращает только границы охватывающей эллипса этой дуги, не учитывая начальный и конечный углы этой дуги.
- Returns:
- прямоугольник, представляющий прямоугольник обрамления дуги.
- Since:
- 1.2
- See Also:
makeBounds
protected abstract Rectangle2D makeBounds(double x, double y, double w, double h)
- Parameters:
-
x- Координата X верхнего левого угла прямоугольника обрамления. -
y- Координата Y верхнего левого угла прямоугольника обрамления. -
w- Ширина прямоугольника обрамления. -
h- Высота прямоугольника обрамления. - Returns:
- прямоугольник, являющийся прямоугольником обрамления этой дуги.
- Since:
- 1.2
containsAngle
public boolean containsAngle(double angle)
- Parameters:
-
angle- Угол для проверки. - Returns:
-
trueесли дуга содержит угол,falseесли дуга не содержит угол. - Since:
- 1.2
contains
public boolean contains(double x, double y)
- Parameters:
-
x- Координата X точки для проверки. -
y- Координата Y точки для проверки. - Returns:
-
trueесли точка находится внутри границы дуги,falseесли точка находится за пределами границ дуги. - Since:
- 1.2
intersects
public boolean intersects(double x, double y, double w, double h)
- Parameters:
-
x- Координата X верхнего левого угла прямоугольника. -
y- Координата Y верхнего левого угла прямоугольника. -
w- Ширина прямоугольника. -
h- Высота прямоугольника. - Returns:
-
trueесли дуга пересекает прямоугольник,falseесли дуга не пересекает прямоугольник. - Since:
- 1.2
- See Also:
contains
public boolean contains(double x, double y, double w, double h)
- Parameters:
-
x- Координата X верхнего левого угла прямоугольника. -
y- Координата Y верхнего левого угла прямоугольника. -
w- Ширина прямоугольника. -
h- Высота прямоугольника. - Returns:
-
trueесли дуга содержит прямоугольник,falseесли дуга не содержит прямоугольник. - Since:
- 1.2
- See Also:
contains
public boolean contains(Rectangle2D r)
- Specified by:
-
containsв интерфейсеShape - Overrides:
-
containsв классеRectangularShape - Parameters:
-
r- Прямоугольник для проверки. - Returns:
-
trueесли дуга содержит прямоугольник,falseесли дуга не содержит прямоугольник. - Since:
- 1.2
- See Also:
getPathIterator
public PathIterator getPathIterator(AffineTransform at)
Arc2D гарантирует, что изменения геометрии дуги не повлияют на уже обрабатываемые итерации этой геометрии.- Parameters:
-
at- необязательное преобразование, которое должно быть применено к координатам по мере их возврата в итерации, или null, если желаемы не преобразованные координаты. - Returns:
- Объект итерации, определяющий границу дуги.
- Since:
- 1.2
hashCode
public int hashCode()
- Overrides:
-
hashCodeв классеObject - Returns:
- хэш-код для этой дуги.
- Since:
- 1.6
- See Also:
equals
public boolean equals(Object obj)
Object этому Arc2D. Указанный Object равен этому Arc2D, если он является экземпляром Arc2D и если его расположение, размер, пределы дуги и тип совпадают с этим Arc2D. - Overrides:
-
equalsв классеObject - Параметры:
-
obj-Objectдля сравнения с этимArc2D. - Возвращает:
-
true, еслиobjявляется экземпляромArc2Dи имеет те же значения;falseв противном случае. - Since:
- 1.6
- См. также:
© 1993, 2021, 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/17/docs/api/java.desktop/java/awt/geom/Arc2D.html