Класс 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
- С момента:
- 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)
- Параметры:
-
type- Тип закрытия этой дуги:OPEN,CHORDилиPIE. - С момента:
- 1.2
- См. также:
Подробное описание методов
getAngleStart
public abstract double getAngleStart()
- Возвращает:
- Значение типа double, представляющее начальный угол дуги в градусах.
- С момента:
- 1.2
- См. также:
getAngleExtent
public abstract double getAngleExtent()
- Возвращает:
- Значение типа double, представляющее угловое протяжение дуги в градусах.
- С момента:
- 1.2
- См. также:
getArcType
public int getArcType()
- Возвращает:
- Одно из целочисленных значений постоянных типов закрытия, определенных в этом классе.
- С момента:
- 1.2
- См. также:
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)
- Параметры:
-
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- Первая точка, определяющая дугу. Начальный угол дуги касается линии, заданной точками (p1, p2). -
p2- Вторая точка, определяющая дугу. Начальный угол дуги касается линии, заданной точками (p1, p2). Конечный угол дуги касается линии, заданной точками (p2, p3). -
p3- Третья точка, определяющая дугу. Конечный угол дуги касается линии, заданной точками (p2, p3). -
radius- Радиус дуги. - С момента:
- 1.2
setAngleStart
public abstract void setAngleStart(double angSt)
- Parameters:
-
angSt- Начальный угол дуги в градусах. - Since:
- 1.2
- See Also:
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- Точка, определяющая начальную точку дуги. -
p2- Точка, определяющая конечную точку дуги. - 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)
Shape в указанные прямоугольные значения. Обратите внимание, что дуга частично вписывается в рамку этого RectangularShape.- Specified by:
-
setFrameв классеRectangularShape - Parameters:
-
x- координата X левого верхнего угла заданной прямоугольной фигуры -
y- координата Y левого верхнего угла заданной прямоугольной фигуры -
w- ширина заданной прямоугольной фигуры -
h- высота заданной прямоугольной фигуры - Since:
- 1.2
- See Also:
getBounds2D
public Rectangle2D getBounds2D()
Arc2D , которая находится между начальным и конечным углами и содержит сектор, если у этого Arc2D тип закрытия PIE. Этот метод отличается от getBounds тем, что метод getBounds возвращает только границы охватывающей эллипса этого Arc2D без учета начальных и конечных углов этой Arc2D.
- Returns:
Rectangle2D, представляющая рамку дуги.- Since:
- 1.2
- See Also:
makeBounds
protected abstract Rectangle2D makeBounds(double x, double y, double w, double h)
Rectangle2D соответствующей точности для хранения параметров, рассчитанных как рамка этой дуги.- Parameters:
-
x- Координата X левого верхнего угла рамки. -
y- Координата Y левого верхнего угла рамки. -
w- Ширина рамки. -
h- Высота рамки. - Returns:
Rectangle2D, представляющий рамку этой дуги.- 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- необязательныйAffineTransform, который будет применяться к координатам по мере их возвращения в итерации, или null, если требуются не преобразованные координаты. - Returns:
- A
PathIterator, определяющий границу дуги. - Since:
- 1.2
hashCode
public int hashCode()
Arc2D.- Overrides:
-
hashCodeв классеObject - Returns:
- хэш-код для этой
Arc2D. - Since:
- 1.6
- See Also:
equals
public boolean equals(Object obj)
Object этой Arc2D. Указанная Object равна этой Arc2D , если она является экземпляром Arc2D и если её расположение, размер, границы дуги и тип совпадают с этой Arc2D.- Overrides:
-
equalsв классеObject - Parameters:
-
obj-Objectдля сравнения с этойArc2D. - Returns:
-
true, еслиobjявляется экземпляромArc2Dи имеет одинаковые значения;falseв противном случае. - Since:
- 1.6
- See Also:
© 1993, 2023, 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/21/docs/api/java.desktop/java/awt/geom/Arc2D.html