|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.awt
类 Polygon
java.lang.Object java.awt.Polygon
- 所有已实现的接口:
- Shape, Serializable
-
public class Polygon
- extends Object
- implements Shape, Serializable
Polygon
类封装了坐标空间中封闭的二维区域的描述。此区域以任意条线段为边界,每条线段都是多边形的一条边。在内部,一个多边形包含一列 (x, y) 坐标对,其中每个坐标对定义多边形的一个顶点,且两个连续的坐标对是多边形一条边的端点。第一个和最后一个 (x, y) 坐标对通过一条线段相连,形成一个封闭的多边形。此 Polygon
以奇-偶性缠绕规则来定义。有关奇-偶性缠绕规则的定义,请参见 WIND_EVEN_ODD
。此类的点击测试方法使用 Shape
类注释中描述的 insideness 定义,点击测试方法包括 contains
、intersects
和 inside
方法。
字段摘要 | |
---|---|
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 |
字段详细信息 |
---|
npoints
public int npoints
-
点的总数。
npoints
的值表示在此Polygon
中有效的点的数量,该值可以小于xpoints
或ypoints
中元素的个数。此值可以为 NULL。- 另请参见:
-
addPoint(int, int)
xpoints
public int[] xpoints
-
x 坐标的数组。此数组中元素的个数可以大于此
Polygon
中 x 坐标的个数。额外的元素允许新的点添加到此Polygon
中,而无需重新创建此数组。npoints
的值等于此Polygon
中有效点的个数。- 另请参见:
-
addPoint(int, int)
ypoints
public int[] ypoints
-
y 坐标的数组。此数组中元素的个数可以大于此
Polygon
中 y 坐标的个数。额外的元素允许新的点添加到Polygon
中,而无需重新创建此数组。npoints
的值等于此Polygon
中有效点的个数。- 另请参见:
-
addPoint(int, int)
bounds
protected Rectangle bounds
-
多边形的边界。此值可以为 NULL。请参见 javadoc 注释 getBounds()。
- 另请参见:
-
getBoundingBox()
,getBounds()
构造方法详细信息 |
---|
Polygon
public Polygon()
- 创建空的多边形。
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
。
方法详细信息 |
---|
reset
public void reset()
-
将此
Polygon
对象重置为一个空多边形。坐标数组及其中的数据不发生改变,但点的个数被重置为零,以便将旧的顶点数据标记为无效,并且开始从头累积新的顶点数据。与旧顶点相关的所有内部缓冲的数据都将被丢弃。注意,由于重用了重置之前的坐标数组,因此创建一个新的空Polygon
与重置当前多边形相比,如果新多边形数据的顶点数远远少于重置之前的数据的顶点数,则重新创建将会提高内存的效率。 -
-
- 从以下版本开始:
- 1.4
- 另请参见:
-
invalidate()
invalidate
public void invalidate()
-
所有内部缓冲数据的失效或刷新都依赖于此
Polygon
的顶点坐标。此方法应该在完成对xpoints
或ypoints
数组中坐标的直接操作之后被调用,以避免产生与getBounds
或contains
这样的方法不一致的结果,后者这些方法可能从与顶点坐标相关联的更早的计算中缓冲数据。 -
-
- 从以下版本开始:
- 1.4
- 另请参见:
-
getBounds()
translate
public void translate(int deltaX, int deltaY)
-
通过沿 x 轴移动
deltaX
,沿 y 移动deltaY
,从而对Polygon
的顶点进行平移。 -
-
- 参数:
-
deltaX
- 沿 x 轴移动的量 -
deltaY
- 沿 y 轴移动的量 - 从以下版本开始:
- JDK1.1