|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
java.lang.Objectjava.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 中的 setFramex - 指定矩形左上角的 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 中的 containsRectangularShape 中的 containsr - 要测试的 Rectangle2D。
true;如果弧不包含矩形,则返回 false。Shape.contains(double, double, double, double)public PathIterator getPathIterator(AffineTransform at)
Arc2D 保证对弧几何形状的修改不影响该几何形状任何进行中的迭代。
at - 可选的 AffineTransform,应用于迭代中返回的坐标;如果需要未转换的坐标,则为 null。
PathIterator。public int hashCode()
Arc2D 的哈希码。
Object 中的 hashCodeArc2D 的哈希码。Object.equals(java.lang.Object),
Hashtablepublic boolean equals(Object obj)
Object 是否与此 Arc2D 相等。如果该对象是一个 Arc2D 实例,并且其位置、大小、弧度跨越和类型与此 Arc2D 相同,则指定的 Object 与此 Arc2D 相等。
Object 中的 equalsobj - 要与此 Arc2D 进行比较的 Object。
obj 是一个 Arc2D 实例并且具有相同的值,则返回 true;否则返回 false。Object.hashCode(),
Hashtable
|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。