Spec-Zone.ru › OpenJDK 24

Класс 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
Этот класс определяет дугу, заданную с точностью double.
static class  Arc2D.Float
Этот класс определяет дугу, заданную с точностью float.

Краткое описание полей

Модификатор и тип Поле Описание
static final int CHORD
Тип замкнутости для дуги, замкнутой путем рисования отрезка прямой от начала сегмента дуги до конца сегмента дуги.
static final int OPEN
Тип замкнутости для открытой дуги без отрезков пути, соединяющих два конца сегмента дуги.
static final int PIE
Тип замкнутости для дуги, замкнутой путем рисования отрезков прямых от начала сегмента дуги до центра полной эллипсы и от этой точки до конца сегмента дуги.

Краткое описание конструкторов

Arc2D()
Arc2D(int type)
Модификатор Конструктор Описание
protected
Это абстрактный класс, который нельзя создать напрямую.
protected
Это абстрактный класс, который нельзя создать напрямую.

Краткое описание методов

Модификатор и тип Метод Описание
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)
Определяет, равен ли указанный Object этому Arc2D.
abstract double getAngleExtent()
Возвращает угловое протяжение дуги.
abstract double getAngleStart()
Возвращает начальный угол дуги.
int getArcType()
Возвращает тип замкнутости дуги: OPEN, CHORD или PIE.
Rectangle2D getBounds2D()
Возвращает прямоугольник с высокой точностью, обрамляющий дугу.
Point2D getEndPoint()
Возвращает конечную точку дуги.
PathIterator getPathIterator(AffineTransform at)
Возвращает объект итерации, определяющий границу дуги.
Point2D getStartPoint()
Возвращает начальную точку дуги.
int hashCode()
Возвращает хэш-код для этого Arc2D.
boolean intersects(double x, double y, double w, double h)
Определяет, пересекается ли внутренняя область дуги с внутренней областью указанного прямоугольника.
protected abstract Rectangle2D makeBounds(double x, double y, double w, double h)
Создает Rectangle2D соответствующей точности для хранения параметров, вычисленных как прямоугольная рамка этой дуги.
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)
Устанавливает тип замкнутости этой дуги в указанном значении: OPEN, CHORD или PIE.
void setFrame(double x, double y, double w, double h)
Устанавливает расположение и размер прямоугольной рамки этой 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

Методы, объявленные в классе java.lang.Object

finalize, getClass, notify, notifyAll, toString, wait, wait, wait

Подробное описание полей

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.Float
  • Arc2D.Double

Arc2D

protected Arc2D(int type)
Это абстрактный класс, который нельзя создать напрямую. Доступны подклассы реализации для конкретных типов для создания экземпляров и предоставляют ряд форматов для хранения информации, необходимой для удовлетворения различных методов доступа ниже.
Параметры:
type - Тип закрытия этой дуги: OPEN, CHORD или PIE.
Since:
1.2
См. также:
  • Arc2D.Float
  • Arc2D.Double

Подробное описание методов

getAngleStart

public abstract double getAngleStart()
Возвращает начальный угол дуги.
Возвращает:
Значение типа double, представляющее начальный угол дуги в градусах.
Since:
1.2
См. также:
  • setAngleStart(double)

getAngleExtent

public abstract double getAngleExtent()
Возвращает угловое расширение дуги.
Возвращает:
Значение типа double, представляющее угловое расширение дуги в градусах.
Since:
1.2
См. также:
  • setAngleExtent(double)

getArcType

public int getArcType()
Возвращает тип закрытия дуги: OPEN, CHORD или PIE.
Возвращает:
Одно из целочисленных константных значений типов закрытия, определённых в этом классе.
Since:
1.2
См. также:
  • setArcType(int)

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)
Устанавливает расположение, размер, угловые расширения и тип закрытия этой дуги на указанные значения типа double.
Параметры:
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
END_OF_DOCUMENT_MARKER

setArcByTangent

public void setArcByTangent(Point2D p1, Point2D p2, Point2D p3, double radius)
Устанавливает положение, границы и угловые параметры этой дуги в соответствии со значениями. Угол начала дуги является касательной к линии, заданной точками (p1, p2), угол окончания — касательной к линии, заданной точками (p2, p3), а радиус дуги задан.
Parameters:
p1 - Первая точка, определяющая дугу. Угол начала дуги является касательной к линии, заданной точками (p1, p2).
p2 - Вторая точка, определяющая дугу. Угол начала дуги является касательной к линии, заданной точками (p1, p2). Угол окончания дуги является касательной к линии, заданной точками (p2, p3).
p3 - Третья точка, определяющая дугу. Угол окончания дуги является касательной к линии, заданной точками (p2, p3).
radius - Радиус дуги.
Since:
1.2

setAngleStart

public abstract void setAngleStart(double angSt)
Устанавливает начальный угол этой дуги в соответствии с заданным значением типа double.
Parameters:
angSt - Начальный угол дуги в градусах.
Since:
1.2
See Also:
  • getAngleStart()

setAngleExtent

public abstract void setAngleExtent(double angExt)
Устанавливает угловое расстояние этой дуги в соответствии с заданным значением типа double.
Parameters:
angExt - Угловое расстояние дуги в градусах.
Since:
1.2
See Also:
  • getAngleExtent()

setAngleStart

public void setAngleStart(Point2D p)
Устанавливает начальный угол этой дуги в соответствии с углом, определяемым заданной точкой относительно центра этой дуги. Угловое расстояние дуги останется неизменным.
Parameters:
p - Point2D, определяющая начальный угол.
Since:
1.2
See Also:
  • getAngleStart()

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, определяющая начальную точку дуги.
p2 - 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:
  • getArcType()

setFrame

public void setFrame(double x, double y, double w, double h)
Устанавливает положение и размеры рамки для прямоугольника этой дуги по указанным прямоугольным значениям. Обратите внимание, что дуга частично вписана в рамку прямоугольника этой дуги.
Specified by:
setFrame in class RectangularShape
Parameters:
x - координата X левого верхнего угла указанной прямоугольной фигуры
y - координата Y левого верхнего угла указанной прямоугольной фигуры
w - ширина указанной прямоугольной фигуры
h - высота указанной прямоугольной фигуры
Since:
1.2
See Also:
  • RectangularShape.getFrame()

getBounds2D

public Rectangle2D getBounds2D()
Возвращает рамку прямоугольника дуги с высокой точностью. Прямоугольник рамки содержит только ту часть этой дуги, которая находится между начальным и конечным углами, и включает сектор, если у этой дуги тип замкнутости PIE.

Этот метод отличается от getBounds тем, что метод getBounds возвращает только границы охватывающего эллипса этой дуги без учета начального и конечного углов этой дуги.

Returns:
Rectangle2D, представляющая прямоугольник рамки дуги.
Since:
1.2
See Also:
  • Shape.getBounds()

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:
  • 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 - Прямоугольник Rectangle2D для проверки.
Возвращает:
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, 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.
https://download.java.net/java/early_access/jdk24/docs/api/java.desktop/java/awt/geom/Arc2D.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API