|
JavaTM Platform Standard Ed. 6 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.lang.Object java.awt.geom.RectangularShape java.awt.geom.Arc2D
public abstract class Arc2D
Arc2D
是所有存储 2D 弧度的对象的抽象超类,其中 2D 弧度由窗体矩形、起始角度、角跨越(弧的长度)和闭合类型(OPEN
、CHORD
或 PIE
)定义。
弧度是其父 RectangularShape
窗体矩形内切完整椭圆的一部分。
角度是相对于非正方形的窗体矩形指定的,从而 45 度角总是落在椭圆中心到窗体矩形右上角的连线上。因此,如果窗体矩形沿一条轴的长度远长于沿另一条轴的长度,则弧段起始点和结束点间的角度将沿窗体长轴发生较大偏斜。
坐标的实际存储表示形式由子类决定。
嵌套类摘要 | |
---|---|
static class |
Arc2D.Double
此类定义以 double 精度指定的弧。 |
static class |
Arc2D.Float
此类定义以 float 精度指定的弧。 |
字段摘要 | |
---|---|
static int |
CHORD
闭合类型,用于通过从弧段的起始点到弧段的结束点画一条直线来闭合的弧。 |
static int |
OPEN
闭合类型,用于不具有用来连接弧段两个端点的路径段的开弧。 |
static int |
PIE
闭合类型,用于通过从弧段的起始点到完整椭圆的中心,再从圆心到弧段的结束点画直线来闭合的弧。 |
构造方法摘要 | |
---|---|
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)
确定指定的 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)
将此弧的起始角度设置为由指定点定义、相对于此弧中心的角度。 |
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)
将此弧的闭合类型设置为指定值: 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 |
字段详细信息 |
---|
public static final int OPEN
public static final int CHORD
public static final int PIE
构造方法详细信息 |
---|
protected Arc2D(int type)
type
- 此弧的闭合类型:OPEN
、CHORD
或 PIE
。Arc2D.Float
,
Arc2D.Double
方法详细信息 |
---|
public abstract double getAngleStart()
setAngleStart(double)
public abstract double getAngleExtent()
setAngleExtent(double)
public int getArcType()
OPEN
、CHORD
或 PIE
。
setArcType(int)
public Point2D getStartPoint()
Point2D
对象,表示弧起始点的 x、y 坐标。public Point2D getEndPoint()
Point2D
对象,表示弧结束点的 x、y 坐标。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
。public void setArc(Point2D loc, Dimension2D size, double angSt, double angExt, int closure)
loc
- 表示弧的左上角坐标的 Point2D
。size
- 表示完整椭圆宽度和高度的 Dimension2D
,此弧是该椭圆的一部分。angSt
- 弧的起始角度(以度数表示)。angExt
- 弧的角跨越(以度数表示)。closure
- 弧的闭合类型:OPEN
、CHORD
或 PIE
。public void setArc(Rectangle2D rect, double angSt, double angExt, int closure)
rect
- 定义完整椭圆外部边界的窗体矩形,此弧是该椭圆的一部分。angSt
- 弧的起始角度(以度数表示)。angExt
- 弧的角跨越(以度数表示)。closure
- 弧的闭合类型:OPEN
、CHORD
或 PIE
。public void setArc(Arc2D a)
a
- 用于设置弧值的 Arc2D
。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
。public void setArcByTangent(Point2D p1, Point2D p2, Point2D p3, double radius)
p1
- 定义弧的第一个点。弧的起始角度是点 (p1, p2) 指定的线的正切。p2
- 定义弧的第二个点。弧的起始角度是点 (p1, p2) 指定的线的正切。弧的结束角度是点 (p2, p3) 指定的线的正切。p3
- 定义弧的第三个点。弧的结束角度是点 (p2, p3) 指定的线的正切。radius
- 弧的半径。public abstract void setAngleStart(double angSt)
angSt
- 弧的起始角度(以度数表示)。getAngleStart()
public abstract void setAngleExtent(double angExt)
angExt
- 弧的角跨越(以度数表示)。getAngleExtent()
public void setAngleStart(Point2D p)
p
- 定义起始角度的 Point2D
。getAngleStart()
public void setAngles(double x1, double y1, double x2, double y2)
x1
- 弧起始点的 X 坐标。y1
- 弧起始点的 Y 坐标。x2
- 弧结束点的 X 坐标。y2
- 弧结束点的 Y 坐标。public void setAngles(Point2D p1, Point2D p2)
p1
- 定义弧起始点的 Point2D
。p2
- 定义弧结束点的 Point2D
。public void setArcType(int type)
OPEN
、CHORD
或 PIE
。
type
- 表示此弧闭合类型的整数常量:OPEN
、CHORD
或 PIE
。
IllegalArgumentException
- 如果 type
不是 0、1 或 2。getArcType()
public void setFrame(double x, double y, double w, double h)
Shape
窗体矩形的位置和大小设置为指定的矩形值。
注意,该弧部分内切于此 RectangularShape
的窗体矩形。
RectangularShape
中的 setFrame
x
- 指定矩形左上角的 X 坐标y
- 指定矩形左上角的 Y 坐标w
- 指定矩形的宽度h
- 指定矩形的高度RectangularShape.getFrame()
public Rectangle2D getBounds2D()
Arc2D
的一部分,即起始角度和结束角度之间的部分;如果此 Arc2D
的闭合类型为 PIE
,则还包含扇形边。
此方法不同于 getBounds
,getBounds
方法仅返回此 Arc2D
封闭椭圆的边界,而不考虑此 Arc2D
的起始角度和结束角度。
Rectangle2D
。Shape.getBounds()
protected abstract Rectangle2D makeBounds(double x, double y, double w, double h)
Rectangle2D
,以保存为此弧的窗体矩形计算出的参数。
x
- 窗体矩形左上角的 X 坐标。y
- 窗体矩形左上角的 Y 坐标。w
- 窗体矩形的宽度。h
- 窗体矩形的高度。
Rectangle2D
。public boolean containsAngle(double angle)
angle
- 要测试的角度。
true
;如果弧不包含角度,则返回 false
。public boolean contains(double x, double y)
x
- 要测试的点的 X 坐标。y
- 要测试的点的 Y 坐标。
true
;如果点位于弧的边界外,则返回 false
。public boolean intersects(double x, double y, double w, double h)
x
- 矩形左上角的 X 坐标。y
- 矩形左上角的 Y 坐标。w
- 矩形的宽度。h
- 矩形的高度。
true
;如果弧与矩形不相交,则返回 false
。Area
public boolean contains(double x, double y, double w, double h)
x
- 矩形左上角的 X 坐标。y
- 矩形左上角的 Y 坐标。w
- 矩形的宽度。h
- 矩形的高度。
true
;如果弧不包含矩形,则返回 false
。Area
,
Shape.intersects(double, double, double, double)
public boolean contains(Rectangle2D r)
Shape
中的 contains
RectangularShape
中的 contains
r
- 要测试的 Rectangle2D
。
true
;如果弧不包含矩形,则返回 false
。Shape.contains(double, double, double, double)
public PathIterator getPathIterator(AffineTransform at)
Arc2D
保证对弧几何形状的修改不影响该几何形状任何进行中的迭代。
at
- 可选的 AffineTransform
,应用于迭代中返回的坐标;如果需要未转换的坐标,则为 null。
PathIterator
。public int hashCode()
Arc2D
的哈希码。
Object
中的 hashCode
Arc2D
的哈希码。Object.equals(java.lang.Object)
,
Hashtable
public boolean equals(Object obj)
Object
是否与此 Arc2D
相等。如果该对象是一个 Arc2D
实例,并且其位置、大小、弧度跨越和类型与此 Arc2D
相同,则指定的 Object
与此 Arc2D
相等。
Object
中的 equals
obj
- 要与此 Arc2D
进行比较的 Object
。
obj
是一个 Arc2D
实例并且具有相同的值,则返回 true
;否则返回 false
。Object.hashCode()
,
Hashtable
|
JavaTM Platform Standard Ed. 6 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。