- java.lang.Object
-
- java.awt.geom.RectangularShape
-
- java.awt.geom.Arc2D
-
- 已知直接子类:
-
Arc2D.Double
,Arc2D.Float
public abstract class Arc2D extends RectangularShape
Arc2D
是用于存储由边界矩形限定的2D弧的所有对象的抽象超,起始角度,角跨越(弧的长度),和一个闭合型(OPEN
,CHORD
,或PIE
)。The arc is a partial section of a full ellipse which inscribes the framing rectangle of its parent
RectangularShape
。 The angles are specified relative to the non-square framing rectangle such that 45 degrees always falls on the line from the center of the ellipse to the upper right corner of the framing rectangle. As a result, if the framing rectangle is noticeably longer along one axis than the other, the angles to the start and end of the arc segment will be skewed farther along the longer axis of the frame.坐标的实际存储表示留给子类。
- 从以下版本开始:
- 1.2
-
-
Nested Class Summary
Nested Classes Modifier and Type Class 描述 static class
Arc2D.Double
此类定义了double
精度中指定的弧。static class
Arc2D.Float
此类定义了float
精度中指定的弧。
-
方法摘要
所有方法 接口方法 抽象方法 具体的方法 Modifier and 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)
确定指定的Object
是否等于此Arc2D
。abstract double
getAngleExtent()
返回弧的角度范围。abstract double
getAngleStart()
返回弧的起始角度。int
getArcType()
Rectangle2D
getBounds2D()
返回圆弧的高精度框架矩形。Point2D
getEndPoint()
返回圆弧的终点。PathIterator
getPathIterator(AffineTransform at)
返回定义圆弧边界的迭代对象。Point2D
getStartPoint()
返回圆弧的起始点。int
hashCode()
返回此Arc2D
的哈希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)
将此弧的角度范围设置为指定的双精度值。void
setAngles(double x1, double y1, double x2, double y2)
使用两组坐标设置该弧的起始角度和角度范围。void
setAngles(Point2D p1, Point2D p2)
使用两点设置此弧的起始角度和角度范围。abstract void
setAngleStart(double angSt)
将此弧的起始角度设置为指定的双精度值。void
setAngleStart(Point2D p)
将该弧的起始角度设置为指定点相对于该弧的中心定义的角度。abstract void
setArc(double x, double y, double w, double h, double angSt, double angExt, int closure)
将此弧的位置,大小,角度范围和闭合类型设置为指定的双精度值。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
的成帧矩形的位置和大小设置为指定的矩形值。-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from class 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
- 另请参见:
- 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()
- 结果
- 在此类中定义的整数常量闭包类型之一。
- 从以下版本开始:
- 1.2
- 另请参见:
-
setArcType(int)
-
getStartPoint
public Point2D getStartPoint()
返回圆弧的起始点。 这一点是从起始角度和圆弧的椭圆边界定义的中心的交点。- 结果
-
一个
Point2D
对象,表示弧的起始点的x,y坐标。 - 从以下版本开始:
- 1.2
-
getEndPoint
public Point2D getEndPoint()
返回圆弧的终点。 这一点是从起始角度加上弧的角度范围和弧的椭圆边界定义的中心的交点。- 结果
-
表示圆弧终点的x,y坐标的物体
Point2D
。 - 从以下版本开始:
- 1.2
-
setArc
public abstract void setArc(double x, double y, double w, double h, double angSt, double angExt, int closure)
将此弧的位置,大小,角度范围和闭合类型设置为指定的双精度值。
-
setArc
public void setArc(Point2D loc, Dimension2D size, double angSt, double angExt, int closure)
将该弧的位置,大小,角度范围和闭合类型设置为指定的值。
-
setArc
public void setArc(Rectangle2D rect, double angSt, double angExt, int closure)
将该弧的位置,大小,角度范围和闭合类型设置为指定的值。
-
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)
将此弧的位置,边界,角度范围和闭合类型设置为指定的值。 圆弧由中心点和半径而不是整个椭圆的框架矩形定义。
-
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
的成帧矩形的位置和大小设置为指定的矩形值。 注意弧partially inscribes这个框架矩形这个RectangularShape
。- Specified by:
-
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)
确定圆弧的内部是否完全包含指定的矩形。- Specified by:
-
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
,如果需要未转换的坐标,则为空。 - 结果
-
A
PathIterator
定义了弧的边界。 - 从以下版本开始:
- 1.2
-
hashCode
public int hashCode()
返回此Arc2D
的哈希Arc2D
。- 重写:
-
hashCode
在Object
- 结果
-
这个
Arc2D
的哈希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
-
-