|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
java.lang.Objectjava.awt.geom.GeneralPath
public final class GeneralPath
GeneralPath 类表示根据直线、二次曲线和三次 (Bézier) 曲线构造的几何路径。它可以包含多个子路径。
缠绕规则指定确定路径内部的方式。缠绕规则有两种类型:EVEN_ODD 和 NON_ZERO。
EVEN_ODD 缠绕规则意味着,从路径外向区域内的点移动并穿过它时,路径的封闭区域在内部区域和外部区域之间交替变化。
NON_ZERO 缠绕规则意味着,如果从给定点朝任意方向向无穷大绘制射线并检查路径与射线相交的位置,当且仅当路径从左到右穿过射线的次数不等于路径从右到左穿过射线的次数时,点位于路径内。
| 字段摘要 | |
|---|---|
static int |
WIND_EVEN_ODD
用于确定路径内部的奇偶 (even-odd) 缠绕规则。 |
static int |
WIND_NON_ZERO
用于确定路径内部的非零 (non-zero) 缠绕规则。 |
| 构造方法摘要 | |
|---|---|
GeneralPath()
构造一个新 GeneralPath 对象。 |
|
GeneralPath(int rule)
构造一个新 GeneralPath 对象,使其具有指定缠绕规则以控制需要定义路径内部的操作。 |
|
GeneralPath(int rule,
int initialCapacity)
构造一个新 GeneralPath 对象,使其具有指定的缠绕规则和指定的初始容量,以存储路径坐标。 |
|
GeneralPath(Shape s)
根据任意 Shape 对象构造一个新 GeneralPath 对象。 |
|
| 方法摘要 | |
|---|---|
void |
append(PathIterator pi,
boolean connect)
将指定 PathIterator 对象的几何形状追加到路径中,可能使用一条线段将新几何形状连接到现有的路径段。 |
void |
append(Shape s,
boolean connect)
将指定 Shape 对象的几何形状追加到路径中,可能使用一条线段将新几何形状连接到现有的路径段。 |
Object |
clone()
创建一个与此对象具有相同类的新对象。 |
void |
closePath()
通过向最后 moveTo 的坐标绘制直线闭合当前子路径。 |
boolean |
contains(double x,
double y)
测试指定坐标是否在 Shape 的边界内。 |
boolean |
contains(double x,
double y,
double w,
double h)
测试指定矩形区域是否在 Shape 的边界内。 |
boolean |
contains(Point2D p)
测试指定 Point2D 是否在 Shape 的边界内。 |
boolean |
contains(Rectangle2D r)
测试指定 Rectangle2D 是否在 Shape 的边界内。 |
Shape |
createTransformedShape(AffineTransform at)
返回新变换的 Shape。 |
void |
curveTo(float x1,
float y1,
float x2,
float y2,
float x3,
float y3)
通过绘制与当前坐标及坐标 (x3,y3) 都相交的 Bézier 曲线,并将指定点 (x1,y1) 和 (x2,y2) 用作 Bézier 的控制点,将由三个新点定义的曲线段添加到路径中。 |
Rectangle |
getBounds()
返回路径的边界框。 |
Rectangle2D |
getBounds2D()
返回路径的边界框。 |
Point2D |
getCurrentPoint()
返回最近添加到路径尾部的坐标(作为 Point2D 对象)。 |
PathIterator |
getPathIterator(AffineTransform at)
返回一个沿 Shape 边界迭代并提供对 Shape 轮廓几何形状访问的 PathIterator 对象。 |
PathIterator |
getPathIterator(AffineTransform at,
double flatness)
返回一个沿变平 Shape 边界迭代并提供对 Shape 轮廓几何形状的访问的 PathIterator 对象。 |
int |
getWindingRule()
返回填充风格缠绕规则。 |
boolean |
intersects(double x,
double y,
double w,
double h)
测试此 Shape 的内部是否与指定矩形坐标集的内部相交。 |
boolean |
intersects(Rectangle2D r)
测试 Shape 内部是否与指定 Rectangle2D 内部相交。 |
void |
lineTo(float x,
float y)
通过绘制一条从当前坐标到新指定坐标的直线在路径中添加点。 |
void |
moveTo(float x,
float y)
通过移动到指定的坐标在路径中添加点。 |
void |
quadTo(float x1,
float y1,
float x2,
float y2)
通过绘制与当前坐标及坐标 (x2,y2) 都相交的 Quadratic 曲线,并将指定点 (x1, y1) 用作二次曲线参数控制点,将由两个新点定义的曲线段添加到路径中。 |
void |
reset()
将路径重置为空。 |
void |
setWindingRule(int rule)
将此路径的缠绕规则设置为指定值。 |
void |
transform(AffineTransform at)
使用指定的 AffineTransform 变换此路径的几何形状。 |
| 从类 java.lang.Object 继承的方法 |
|---|
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| 字段详细信息 |
|---|
public static final int WIND_EVEN_ODD
public static final int WIND_NON_ZERO
| 构造方法详细信息 |
|---|
public GeneralPath()
GeneralPath 对象。如果对此路径执行的操作需要定义路径内部,则使用默认的 NON_ZERO 缠绕规则。
WIND_NON_ZEROpublic GeneralPath(int rule)
GeneralPath 对象,使其具有指定缠绕规则以控制需要定义路径内部的操作。
rule - 缠绕规则WIND_EVEN_ODD,
WIND_NON_ZERO
public GeneralPath(int rule,
int initialCapacity)
GeneralPath 对象,使其具有指定的缠绕规则和指定的初始容量,以存储路径坐标。此数是对路径中路径段的初始猜测值,但是储量可以根据需要扩展,以存储任何添加到此路径的路径段。
rule - 缠绕规则initialCapacity - 对路径中路径段数的估计WIND_EVEN_ODD,
WIND_NON_ZEROpublic GeneralPath(Shape s)
Shape 对象构造一个新 GeneralPath 对象。此路径的所有初始几何形状和缠绕规则均取自指定的 Shape 对象。
s - 指定的 Shape 对象| 方法详细信息 |
|---|
public void moveTo(float x,
float y)
x, y - 指定的坐标
public void lineTo(float x,
float y)
x, y - 指定的坐标
public void quadTo(float x1,
float y1,
float x2,
float y2)
x1, y1 - 第一个二次曲线控制点的坐标x2, y2 - 最后一个端点的坐标
public void curveTo(float x1,
float y1,
float x2,
float y2,
float x3,
float y3)
x1, y1 - 第一个 Béezier 控制点的坐标x2, y2 - 第二个 Béezier 控制点的坐标x3, y3 - 最后一个端点的坐标public void closePath()
moveTo 的坐标绘制直线闭合当前子路径。如果已经闭合路径,则此方法无效。
public void append(Shape s,
boolean connect)
Shape 对象的几何形状追加到路径中,可能使用一条线段将新几何形状连接到现有的路径段。如果 connect 参数为 true 并且路径非空,则追加的 Shape 几何形状的全部初始 moveTo 将被转换为 lineTo 段。如果这种连接 lineTo 段的目标坐标匹配目前开放子路径的结束坐标,则将该段作为多余段忽略。指定 Shape 的缠绕规则将被忽略,追加的几何形状由为此路径指定的缠绕规则来管理。
s - 将其几何形状追加到此路径中的 Shapeconnect - 一个布尔值,用于控制是否将初始 moveTo 段转换为 lineTo 段,以将新几何形状连接到现有路径
public void append(PathIterator pi,
boolean connect)
PathIterator 对象的几何形状追加到路径中,可能使用一条线段将新几何形状连接到现有的路径段。如果 connect 参数为 true 并且路径非空,则追加 Shape 几何形状的初始 moveTo 将被转换为 lineTo 段。如果这种连接 lineTo 段的目标坐标匹配目前开放路径的结束坐标,则将该线段作为多余线段忽略。指定 Shape 的缠绕规则将被忽略,追加的几何形状由为此路径指定的缠绕规则来管理。
pi - 其几何形状要被追加到此路径中的 PathIteratorconnect - 一个布尔值,用于控制是否将初始 moveTo 段转换为 lineTo 段,以将新几何形状连接到现有路径public int getWindingRule()
WIND_EVEN_ODD,
WIND_NON_ZERO,
setWindingRule(int)public void setWindingRule(int rule)
rule - 表示指定缠绕规则的整数
IllegalArgumentException - 如果 rule 既不是 WIND_EVEN_ODD 也不是 WIND_NON_ZEROWIND_EVEN_ODD,
WIND_NON_ZERO,
getWindingRule()public Point2D getCurrentPoint()
Point2D 对象)。
Point2D 对象,如果路径中不存在点,则返回 null。public void reset()
public void transform(AffineTransform at)
AffineTransform 变换此路径的几何形状。原地变换几何形状,它将永久更改由此对象定义的边界。
at - 用于变换区域的 AffineTransformpublic Shape createTransformedShape(AffineTransform at)
Shape。
at - 用于变换新 Shape 的 AffineTransform。
Shape,它是使用指定的 AffineTransform 变换的。public Rectangle getBounds()
Shape 中的 getBoundsRectangle 对象。Shape.getBounds2D()public Rectangle2D getBounds2D()
Shape 中的 getBounds2DRectangle2D 对象。Shape.getBounds()
public boolean contains(double x,
double y)
Shape 的边界内。
Shape 中的 containsx, y - 指定的坐标
Shape 的边界内,则返回 true;否则返回 false。public boolean contains(Point2D p)
Point2D 是否在 Shape 的边界内。
Shape 中的 containsp - 指定的 Point2D
Shape 包含指定的 Point2D,则返回 true;否则返回 false。
public boolean contains(double x,
double y,
double w,
double h)
Shape 的边界内。
Shape 中的 containsx, y - 指定的坐标w - 指定矩形区域的宽度h - 指定矩形区域的高度
Shape 包含指定的矩形区域,则返回 true;否则返回 false。Area,
Shape.intersects(double, double, double, double)public boolean contains(Rectangle2D r)
Rectangle2D 是否在 Shape 的边界内。
Shape 中的 containsr - 指定的 Rectangle2D
Shape 为指定的 Rectangle2D 划定边界,则返回 true;否则返回 false。Shape.contains(double, double, double, double)
public boolean intersects(double x,
double y,
double w,
double h)
Shape 的内部是否与指定矩形坐标集的内部相交。
Shape 中的 intersectsx, y - 指定的坐标w - 指定矩形坐标的宽度h - 指定矩形坐标的高度
Shape 与指定矩形坐标集的内部相交,则返回 true;否则返回 false。Areapublic boolean intersects(Rectangle2D r)
Shape 内部是否与指定 Rectangle2D 内部相交。
Shape 中的 intersectsr - 指定的 Rectangle2D
Shape 与指定 Rectangle2D 的内部相交,则返回 true;否则返回 false。Shape.intersects(double, double, double, double)public PathIterator getPathIterator(AffineTransform at)
Shape 边界迭代并提供对 Shape 轮廓几何形状访问的 PathIterator 对象。此类的迭代器不是多线程安全的,这意味着此 GeneralPath 类不保证对此 GeneralPath 对象几何形状所作的修改不会对该几何形状中正在进行的迭代产生影响。
Shape 中的 getPathIteratorat - AffineTransform
Shape 边界迭代并提供对 Shape 轮廓几何形状访问的新 PathIterator
public PathIterator getPathIterator(AffineTransform at,
double flatness)
Shape 边界迭代并提供对 Shape 轮廓几何形状的访问的 PathIterator 对象。此类的迭代器不是多线程安全的,这意味着此 GeneralPath 类不保证对此 GeneralPath 对象几何形状所作的修改不会对该几何形状中正在进行的迭代产生影响。
Shape 中的 getPathIteratorat - AffineTransformflatness - 允许用来近似曲线段的直线段偏离原始曲线上任一点的最大距离
Shape 边界迭代的新 PathIterator。public Object clone()
Object 中的 cloneOutOfMemoryError - 如果没有足够的内存。Cloneable
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。