Класс 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) Устанавливает начальный угол этой дуги до угла, который заданная точка определяет относительно центра этой дуги. |
void |
setArc(Arc2D a) Устанавливает эту дугу такой же, как и указанная дуга. |
abstract void |
setArc(double x,
double y,
double w,
double h,
double angSt,
double angExt,
int closure) Устанавливает положение, размер, угловые пределы и тип замкнутости этой дуги в указанных значениях типа double. |
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
- См. также:
- Constant Field Values
CHORD
public static final int CHORD
Тип замыкания для дуги, замыкаемой путем прорисовки прямолинейного сегмента от начала сегмента дуги до конца сегмента дуги.
- С момента:
- 1.2
- См. также:
- Constant Field Values
PIE
public static final int PIE
Тип замыкания для дуги, замыкаемой путем прорисовки прямолинейных сегментов от начала сегмента дуги до центра полного эллипса и от этой точки до конца сегмента дуги.
- С момента:
- 1.2
- См. также:
- Constant Field Values
Конструкторы
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- Точка, определяющая начальную точку дуги. -
p2- Точка, определяющая конечную точку дуги. - С тех пор:
- 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.
- Возвращает:
- прямоугольник, представляющий рамку дуги.
- С тех пор:
- 1.2
- См. также:
Shape.getBounds()
makeBounds
protected abstract Rectangle2D makeBounds(double x,
double y,
double w,
double h) Создает Rectangle2D подходящей точности для хранения параметров, вычисленных как рамка этой дуги.
- Параметры:
-
x- Координата X левого верхнего угла рамки. -
y- Координата Y левого верхнего угла рамки. -
w- Ширина рамки. -
h- Высота рамки. - Возвращает:
- прямоугольник, являющийся рамкой этой дуги.
- С тех пор:
- 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- необязательное преобразование, которое будет применено к координатам по мере их возврата в итерации, или null, если требуются не преобразованные координаты. - Возвращает:
- Итератор, определяющий границу дуги.
- С тех пор:
- 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.