Spec-Zone.ru › OpenJDK 21

Класс 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
Тип закрытия для дуги без сегментов пути, соединяющих два конца сегмента дуги.
С момента:
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()
Возвращает начальный угол дуги.
Возвращает:
Значение типа double, представляющее начальный угол дуги в градусах.
С момента:
1.2
См. также:
  • setAngleStart(double)

getAngleExtent

public abstract double getAngleExtent()
Возвращает угловое протяжение дуги.
Возвращает:
Значение типа double, представляющее угловое протяжение дуги в градусах.
С момента:
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)
Устанавливает положение, размер, угловые протяжения и тип закрытия этой дуги на указанные значения типа double.
Параметры:
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)
Устанавливает начальный угол этой дуги в указанное значение типа 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 - Точка, определяющая начальный угол.
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 - Точка, определяющая начальную точку дуги.
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:
  • getArcType()

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:
  • RectangularShape.getFrame()

getBounds2D

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

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

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)
Определяет, полностью ли внутренняя область дуги содержит заданный прямоугольник.
Parameters:
x - Координата X левого верхнего угла прямоугольника.
y - Координата Y левого верхнего угла прямоугольника.
w - Ширина прямоугольника.
h - Высота прямоугольника.
Returns:
true , если дуга содержит прямоугольник, false , если дуга не содержит прямоугольник.
Since:
1.2
See Also:
  • Area
  • Shape.intersects(double, double, double, double)

contains

public boolean contains(Rectangle2D r)
Определяет, полностью ли внутренняя область дуги содержит указанный прямоугольник.
Specified by:
contains в интерфейсе Shape
Overrides:
contains в классе RectangularShape
Parameters:
r - Прямоугольник для проверки.
Returns:
true , если дуга содержит прямоугольник, false , если дуга не содержит прямоугольник.
Since:
1.2
See Also:
  • Shape.contains(double, double, double, double)

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:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(java.lang.Object)

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:
  • Object.hashCode()
  • HashMap

© 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

Spec-Zone.ru

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