|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
java.lang.Objectjava.awt.Polygon
public class Polygon
Polygon 类封装了坐标空间中封闭的二维区域的描述。此区域以任意条线段为边界,每条线段都是多边形的一条边。在内部,一个多边形包含一列 (x, y) 坐标对,其中每个坐标对定义多边形的一个顶点,且两个连续的坐标对是多边形一条边的端点。第一个和最后一个 (x, y) 坐标对通过一条线段相连,形成一个封闭的多边形。此 Polygon 以奇-偶性缠绕规则来定义。有关奇-偶性缠绕规则的定义,请参见 WIND_EVEN_ODD。此类的点击测试方法使用 Shape 类注释中描述的 insideness 定义,点击测试方法包括 contains、intersects 和 inside 方法。
Shape,
序列化表格| 字段摘要 | |
|---|---|
protected Rectangle |
bounds
多边形的边界。 |
int |
npoints
点的总数。 |
int[] |
xpoints
x 坐标的数组。 |
int[] |
ypoints
y 坐标的数组。 |
| 构造方法摘要 | |
|---|---|
Polygon()
创建空的多边形。 |
|
Polygon(int[] xpoints,
int[] ypoints,
int npoints)
以指定的参数构造并初始化新的 Polygon。 |
|
| 方法摘要 | |
|---|---|
void |
addPoint(int x,
int y)
将指定的坐标追加到此 Polygon。 |
boolean |
contains(double x,
double y)
确定指定坐标是否位于此 Polygon 内部。 |
boolean |
contains(double x,
double y,
double w,
double h)
测试此 Polygon 的内部是否完全包含指定的矩形坐标集。 |
boolean |
contains(int x,
int y)
确定指定的坐标是否位于此 Polygon 的内部。 |
boolean |
contains(Point p)
确定指定的 Point 是否位于此 Polygon 的内部。 |
boolean |
contains(Point2D p)
测试指定的 Point2D 是否位于此 Polygon 边界的内部。 |
boolean |
contains(Rectangle2D r)
测试此 Polygon 的内部是否完全包含指定的 Rectangle2D。 |
Rectangle |
getBoundingBox()
已过时。 从 JDK version 1.1 开始,由 getBounds() 取代。 |
Rectangle |
getBounds()
获取此 Polygon 的边界框。 |
Rectangle2D |
getBounds2D()
返回 Shape 的高精度的边界框。 |
PathIterator |
getPathIterator(AffineTransform at)
返回迭代器对象,此对象沿此 Polygon 的边界进行迭代,并且提供到此 Polygon 的轮廓的几何形状的访问。 |
PathIterator |
getPathIterator(AffineTransform at,
double flatness)
返回迭代器对象,此对象沿 Shape 的边界进行迭代,并且提供了到 Shape 的轮廓的几何形状的访问。 |
boolean |
inside(int x,
int y)
已过时。 从 JDK version 1.1 开始, 此函数为 contains(int, int)。 |
boolean |
intersects(double x,
double y,
double w,
double h)
测试此 Polygon 内部是否与指定的矩形坐标集交叉。 |
boolean |
intersects(Rectangle2D r)
测试此 Polygon 的内部是否与指定的 Rectangle2D 的内部交叉。 |
void |
invalidate()
所有内部缓冲数据的失效或刷新都依赖于此 Polygon 的顶点坐标。 |
void |
reset()
将此 Polygon 对象重置为一个空多边形。 |
void |
translate(int deltaX,
int deltaY)
通过沿 x 轴移动 deltaX,沿 y 移动 deltaY,从而对 Polygon 的顶点进行平移。 |
| 从类 java.lang.Object 继承的方法 |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| 字段详细信息 |
|---|
public int npoints
npoints 的值表示在此 Polygon 中有效的点的数量,该值可以小于 xpoints 或 ypoints 中元素的个数。此值可以为 NULL。
addPoint(int, int)public int[] xpoints
Polygon 中 x 坐标的个数。额外的元素允许新的点添加到此 Polygon 中,而无需重新创建此数组。npoints 的值等于此 Polygon 中有效点的个数。
addPoint(int, int)public int[] ypoints
Polygon 中 y 坐标的个数。额外的元素允许新的点添加到 Polygon 中,而无需重新创建此数组。npoints 的值等于此 Polygon 中有效点的个数。
addPoint(int, int)protected Rectangle bounds
getBoundingBox(),
getBounds()| 构造方法详细信息 |
|---|
public Polygon()
public Polygon(int[] xpoints,
int[] ypoints,
int npoints)
Polygon。
xpoints - x 坐标的数组ypoints - y 坐标的数组npoints - 此 Polygon 中点的总数
NegativeArraySizeException - 如果 npoints 为负值。
IndexOutOfBoundsException - 如果 npoints 大于 xpoints 或 ypoints 的长度。
NullPointerException - 如果 xpoints 或 ypoints 为 null。| 方法详细信息 |
|---|
public void reset()
Polygon 对象重置为一个空多边形。坐标数组及其中的数据不发生改变,但点的个数被重置为零,以便将旧的顶点数据标记为无效,并且开始从头累积新的顶点数据。与旧顶点相关的所有内部缓冲的数据都将被丢弃。注意,由于重用了重置之前的坐标数组,因此创建一个新的空 Polygon 与重置当前多边形相比,如果新多边形数据的顶点数远远少于重置之前的数据的顶点数,则重新创建将会提高内存的效率。
invalidate()public void invalidate()
Polygon 的顶点坐标。此方法应该在完成对 xpoints 或 ypoints 数组中坐标的直接操作之后被调用,以避免产生与 getBounds 或 contains 这样的方法不一致的结果,后者这些方法可能从与顶点坐标相关联的更早的计算中缓冲数据。
getBounds()
public void translate(int deltaX,
int deltaY)
deltaX,沿 y 移动 deltaY,从而对 Polygon 的顶点进行平移。
deltaX - 沿 x 轴移动的量deltaY - 沿 y 轴移动的量
public void addPoint(int x,
int y)
Polygon。
如果已经执行了计算此 Polygon 的边界框的操作,例如 getBounds 或 contains,则此方法更新边界框。
x - 指定的 x 坐标y - 指定的 y 坐标getBounds(),
contains(java.awt.Point)public Rectangle getBounds()
Polygon 的边界框。边界框是最小的 Rectangle,其边平行于坐标空间的 x 轴和 y 轴,且能够完全包含 Polygon。
Shape 中的 getBoundsPolygon 边界的 Rectangle。Shape.getBounds2D()@Deprecated public Rectangle getBoundingBox()
getBounds() 取代。
Polygon 的边界。
Polygon 的边界。public boolean contains(Point p)
Point 是否位于此 Polygon 的内部。
p - 要测试的指定的 Point
Polygon 包含 Point,则返回 true;否则返回 false。contains(double, double)
public boolean contains(int x,
int y)
Polygon 的内部。
x - 要测试的指定的 x 坐标y - 要测试的指定的 y 坐标
Polygon 包含指定的坐标 (x, y),则返回 true;否则返回 false。contains(double, double)
@Deprecated
public boolean inside(int x,
int y)
contains(int, int)。
Polygon 是否包含指定的坐标。
x - 要测试的指定的 x 坐标y - 要测试的指定的 y 坐标
Polygon 包含指定坐标,则返回 true;否则返回 false。contains(double, double)public Rectangle2D getBounds2D()
Shape 的高精度的边界框。
Shape 中的 getBounds2DShape 的边界的 Rectangle2D。Shape.getBounds()
public boolean contains(double x,
double y)
Polygon 内部。有关 insideness 的定义,请参见 Shape 的类注释。
Shape 中的 containsx - 指定的 x 坐标y - 指定的 y 坐标
Polygon 包含指定的坐标,则返回 true;否则返回 false。public boolean contains(Point2D p)
Point2D 是否位于此 Polygon 边界的内部。
Shape 中的 containsp - 指定的 Point2D
Polygon 包含指定的 Point2D,则返回 true;否则返回 false。contains(double, double)
public boolean intersects(double x,
double y,
double w,
double h)
Polygon 内部是否与指定的矩形坐标集交叉。
Shape 中的 intersectsx - 指定矩形左上角的 x 坐标y - 指定矩形左上角的 y 坐标w - 指定矩形的宽度h - 指定矩形的高度
Polygon 的内部与指定矩形坐标集内部相互交叉,则返回 true;否则返回 falseAreapublic boolean intersects(Rectangle2D r)
Polygon 的内部是否与指定的 Rectangle2D 的内部交叉。
Shape 中的 intersectsr - 指定的 Rectangle2D
Polygon 与指定的 Rectangle2D 的内部相互交叉,则返回 true;否则返回 false。Shape.intersects(double, double, double, double)
public boolean contains(double x,
double y,
double w,
double h)
Polygon 的内部是否完全包含指定的矩形坐标集。
Shape 中的 containsx - 指定的矩形坐标集左上角的 x 坐标y - 指定的矩形坐标集左上角的 y 坐标w - 矩形坐标集的宽度h - 矩形坐标集的高度
Polygon 完全包含指定的矩形坐标集,则返回 true;否则返回 falseArea,
Shape.intersects(double, double, double, double)public boolean contains(Rectangle2D r)
Polygon 的内部是否完全包含指定的 Rectangle2D。
Shape 中的 containsr - 指定的 Rectangle2D
Polygon 完全包含指定的 Rectangle2D,则返回 true;否则返回 false。contains(double, double, double, double)public PathIterator getPathIterator(AffineTransform at)
Polygon 的边界进行迭代,并且提供到此 Polygon 的轮廓的几何形状的访问。可以指定一个可选的 AffineTransform,以便对迭代中返回的坐标进行相应的转换。
Shape 中的 getPathIteratorat - 坐标在迭代中返回时,要应用于这些坐标的可选的 AffineTransform,或者需要撤消转换时为 null
PathIterator 对象,该对象提供到此 Polygon 的几何形状的访问。
public PathIterator getPathIterator(AffineTransform at,
double flatness)
Shape 的边界进行迭代,并且提供了到 Shape 的轮廓的几何形状的访问。迭代器只返回 SEG_MOVETO、SEG_LINETO 和 SEG_CLOSE 点类型。由于多边形是平面的,因此可以忽略 flatness 参数。可以指定可选的 AffineTransform,在这种情况下相应地转换在迭代返回的坐标。
Shape 中的 getPathIteratorat - 坐标在迭代中返回时,要应用于这些坐标的可选的 AffineTransform,或者需要撤消转换时为 nullflatness - 在使用连接端点的直线取代细分的曲线之前,给定曲线的控制点可以从共线变化的最大量。由于多平形是平面的,因此可以忽略 flatness 参数。
PathIterator 对象,此对象提供到 Shape 对象的几何形状的访问。
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。