- 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
-
-
嵌套类汇总
嵌套类 变量和类型 类 描述 static class
Arc2D.Double
此类定义以double
精度指定的弧。static class
Arc2D.Float
此类定义以float
精度指定的弧。
-
方法摘要
所有方法 实例方法 抽象方法 具体的方法 变量和类型 方法 描述 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)
将此弧的角度范围设置为指定的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
-
-
-
-
构造方法详细信息
-
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()
- 结果
- 此类中定义的整数常量闭包类型之一。
- 从以下版本开始:
- 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值。
-
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)
将此弧的起始角度设置为指定的double值。- 参数
-
angSt
- 弧度的起始角度(以度为单位)。 - 从以下版本开始:
- 1.2
- 另请参见:
-
getAngleStart()
-
setAngleExtent
public abstract void setAngleExtent(double angExt)
将此弧的角度范围设置为指定的double值。- 参数
-
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
具有PIE
闭包类型,则框架矩形仅包含此Arc2D
的一部分,该部分位于起始角度和结束角度之间并包含饼形楔形。此方法从不同
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
如果需要未转换的坐标,则为null。 - 结果
-
定义弧的边界的
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
-
-