Класс 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 — это абстрактный базовый класс для всех объектов, хранящих 2D дугу, определяемую прямоугольником, начальным углом, угловым объёмом (длиной дуги) и типом замкнутости (OPEN, CHORD, или PIE).
Дуга является частичным сегментом полной эллипса, вписанного в прямоугольник рамки родительского элемента RectangularShape. Углы задаются относительно прямоугольника рамки, не являющегося квадратом, таким образом, что 45 градусов всегда попадают на линию от центра эллипса до правого верхнего угла прямоугольника рамки. В результате, если прямоугольник рамки заметно длиннее по одной оси, чем по другой, углы начала и конца сегмента дуги будут смещены дальше по более длинной оси рамки.
Фактическое представление координат в памяти оставляется подклассу.
- С:
- 1.2
Вложенные классы
| Модификатор и тип | Класс | Описание |
|---|---|---|
static class | Arc2D.Double | Этот класс определяет дугу, заданную с точностью |
static class | Arc2D.Float | Этот класс определяет дугу, заданную с точностью |
Поля
| Модификатор и тип | Поле | Описание |
|---|---|---|
static int | CHORD | Тип замкнутости для дуги, закрытой построением отрезка прямой от начала дуги до её конца. |
static int | OPEN | Тип замкнутости для открытой дуги без отрезков пути, соединяющих два конца дуги. |
static int | PIE | Тип замкнутости для дуги, закрытой отрезками прямых от начала дуги до центра полного эллипса и от этой точки до конца дуги. |
Конструкторы
| Модификатор | Конструктор | Описание |
|---|---|---|
protected | Arc2D() | Это абстрактный класс, который нельзя создать напрямую. |
protected | Arc2D(int type) | Это абстрактный класс, который нельзя создать напрямую. |
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
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) | Определяет, равен ли указанный |
abstract double | getAngleExtent() | Возвращает угловой объём дуги. |
abstract double | getAngleStart() | Возвращает начальный угол дуги. |
int | getArcType() | |
Rectangle2D | getBounds2D() | Возвращает высокоточную рамку прямоугольника дуги. |
Point2D | getEndPoint() | Возвращает конечную точку дуги. |
PathIterator | getPathIterator(AffineTransform at) | Возвращает объект итерации, определяющий границу дуги. |
Point2D | getStartPoint() | Возвращает начальную точку дуги. |
int | hashCode() | Возвращает хэш-код для этой |
boolean | intersects(double x,
double y,
double w,
double h) | Определяет, пересекается ли внутренняя часть дуги с внутренней частью указанного прямоугольника. |
protected abstract Rectangle2D | makeBounds(double x,
double y,
double w,
double h) | Создаёт |
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) | Устанавливает тип замкнутости этой дуги в указанное значение: |
void | setFrame(double x,
double y,
double w,
double h) | Устанавливает положение и размер прямоугольника рамки этой |
Методы, объявленные в классе 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 Методы, объявленные в классе java.lang.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()
Возвращает начальный угол дуги.
- Возвращает:
- Вещественное значение, представляющее начальный угол дуги в градусах.
- С версии:
- 1.2
- См. также:
setAngleStart(double)
getAngleExtent
public abstract double getAngleExtent()
Возвращает угловой размер дуги.
- Возвращает:
- Вещественное значение, представляющее угловой размер дуги в градусах.
- С версии:
- 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) Устанавливает расположение, размер, угловые размеры и тип замыкания этой дуги в указанные вещественные значения.
- Параметры:
-
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)
Устанавливает начальный угол этой дуги в указанное вещественное значение.
- Параметры:
-
angSt- Начальный угол дуги в градусах. - С версии:
- 1.2
- См. также:
getAngleStart()
setAngleExtent
public abstract void setAngleExtent(double angExt)
Устанавливает угловой размер этой дуги в указанное вещественное значение.
- Параметры:
-
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- Прямоугольник для проверки. - Возвращает:
-
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(java.lang.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
© 1993, 2020, 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/11/docs/api/java.desktop/java/awt/geom/Arc2D.html