|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.lang.Object java.awt.geom.RectangularShape java.awt.geom.Arc2D
public abstract class Arc2D
Arc2D
是存储由边界矩形、起始角度、角跨越(弧的长度)和闭合类型(OPEN
、CHORD
或 PIE
)所定义的 2D 弧的所有对象的抽象超类。
边界矩形定义一个完整椭圆(此弧是其一部分)的外部边界。角度是相对于边界矩形的非正方形区域指定的,这样 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)
确定指定的角度是否位于弧的角跨越内。 |
abstract double |
getAngleExtent()
返回弧的角跨越。 |
abstract double |
getAngleStart()
返回弧的起始角度。 |
int |
getArcType()
返回弧的弧闭合类型: OPEN 、CHORD 或 PIE 。 |
Rectangle2D |
getBounds2D()
返回弧的高精度边界框。 |
Point2D |
getEndPoint()
返回弧的结束点。 |
PathIterator |
getPathIterator(AffineTransform at)
返回定义弧边界的迭代对象。 |
Point2D |
getStartPoint()
返回弧的起始点。 |
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)
将此弧外部边界的位置和大小设置为指定值。 |
从类 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 继承的方法 |
---|
equals, finalize, getClass, hashCode, 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, 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
- 以度数表示的弧的起始角度。(以 double 精度指定。)angExt
- 以度数表示的弧的角跨越。(以 double 精度指定。)closure
- 弧的闭合类型:OPEN
、CHORD
或 PIE
。public void setArc(Rectangle2D rect, double angSt, double angExt, int closure)
rect
- 定义完整椭圆(此弧是其一个部分)外部边界的边界矩形。angSt
- 以度数表示的弧的起始角度。(以 double 精度指定。)angExt
- 以度数表示的弧的角跨越。(以 double 精度指定。)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, y
- 弧中心的坐标。(以 double 精度指定。)radius
- 弧的半径。(以 double 精度指定。)angSt
- 以度数表示的弧的起始角度。(以 double 精度指定。)angExt
- 以度数表示的弧的角跨越。(以 double 精度指定。)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
- 弧的半径。(以 double 精度指定。)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, y1
- 弧起始点的坐标。x2, y2
- 弧结束点的坐标。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)
RectangularShape
中的 setFrame
x, y
- 弧边界框左上角的坐标。(以 double 精度指定。)w
- 弧边界框的宽度。(以 double 精度指定。)h
- 弧边界框的高度。(以 double 精度指定。)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, y
- 边界框左上角的坐标。(以 double 精度指定。)w
- 边界框的宽度。(以 double 精度指定。)h
- 边界框的高度。(以 double 精度指定。)
Rectangle2D
。public boolean containsAngle(double angle)
angle
- 要测试的角度。(以 double 精度指定。)
true
;如果弧不包含角度,则返回 false
。public boolean contains(double x, double y)
x, y
- 要测试的点的坐标。(以 double 精度指定。)
true
;如果点位于弧的边界外,则返回 false
。public boolean intersects(double x, double y, double w, double h)
x, y
- 矩形左上角的坐标。(以 double 精度指定。)w
- 矩形的宽度。(以 double 精度指定。)h
- 矩形的高度。(以 double 精度指定。)
true
;如果弧与矩形不相交,则返回 false
。Area
public boolean contains(double x, double y, double w, double h)
x, y
- 矩形左上角的坐标。(以 double 精度指定。)w
- 矩形的宽度。(以 double 精度指定。)h
- 矩形的高度。(以 double 精度指定。)
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
。
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。