所有类


java.awt
类 Polygon

java.lang.Object
  继承者 java.awt.Polygon
所有已实现的接口:
Shape, Serializable

public class Polygon
   
   
   
   
   
extends Object
implements Shape, Serializable

Polygon 类封装了坐标空间中封闭的二维区域的描述。此区域以任意条线段为边界,每条线段都是多边形的一条边。在内部,一个多边形包含一列 (xy) 坐标对,其中每个坐标对定义多边形的一个顶点,且两个连续的坐标对是多边形一条边的端点。第一个和最后一个 (xy) 坐标对通过一条线段相连,形成一个封闭的多边形。此 Polygon 以奇-偶性缠绕规则来定义。有关奇-偶性缠绕规则的定义,请参见 WIND_EVEN_ODD。此类的点击测试方法使用 Shape 类注释中描述的 insideness 定义,点击测试方法包括 containsintersectsinside 方法。

从以下版本开始:
JDK1.0
另请参见:
Shape, 序列化表格

字段摘要
protected  Rectanglebounds
          多边形的边界。
 intnpoints
          点的总数。
 int[]xpoints
          x 坐标的数组。
 int[]ypoints
          y 坐标的数组。
 
构造方法摘要
Polygon()
          创建空的多边形。
Polygon(int[] xpoints, int[] ypoints, int npoints)
          以指定的参数构造并初始化新的 Polygon
 
方法摘要
 voidaddPoint(int x, int y)
          将指定的坐标追加到此 Polygon
 booleancontains(double x, double y)
          确定指定坐标是否位于此 Polygon 内部。
 booleancontains(double x, double y, double w, double h)
          测试此 Polygon 的内部是否完全包含指定的矩形坐标集。
 booleancontains(int x, int y)
          确定指定的坐标是否位于此 Polygon 的内部。
 booleancontains(Point p)
          确定指定的 Point 是否位于此 Polygon 的内部。
 booleancontains(Point2D p)
          测试指定的 Point2D 是否位于此 Polygon 边界的内部。
 booleancontains(Rectangle2D r)
          测试此 Polygon 的内部是否完全包含指定的 Rectangle2D
 RectanglegetBoundingBox()
          已过时。 从 JDK version 1.1 开始,由 getBounds() 取代。
 RectanglegetBounds()
          获取此 Polygon 的边界框。
 Rectangle2DgetBounds2D()
          返回 Shape 的高精度的边界框。
 PathIteratorgetPathIterator(AffineTransform at)
          返回迭代器对象,此对象沿此 Polygon 的边界进行迭代,并且提供到此 Polygon 的轮廓的几何形状的访问。
 PathIteratorgetPathIterator(AffineTransform at, double flatness)
          返回迭代器对象,此对象沿 Shape 的边界进行迭代,并且提供了到 Shape 的轮廓的几何形状的访问。
 booleaninside(int x, int y)
          已过时。 从 JDK version 1.1 开始, 此函数为 contains(int, int)
 booleanintersects(double x, double y, double w, double h)
          测试此 Polygon 内部是否与指定的矩形坐标集交叉。
 booleanintersects(Rectangle2D r)
          测试此 Polygon 的内部是否与指定的 Rectangle2D 的内部交叉。
 voidinvalidate()
          所有内部缓冲数据的失效或刷新都依赖于此 Polygon 的顶点坐标。
 voidreset()
          将此 Polygon 对象重置为一个空多边形。
 voidtranslate(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 中有效的点的数量,该值可以小于 xpointsypoints 中元素的个数。此值可以为 NULL。

另请参见:
addPoint(int, int)

xpoints

public int[] xpoints
x 坐标的数组。此数组中元素的个数可以大于此 Polygonx 坐标的个数。额外的元素允许新的点添加到此 Polygon 中,而无需重新创建此数组。npoints 的值等于此 Polygon 中有效点的个数。

另请参见:
addPoint(int, int)

ypoints

public int[] ypoints
y 坐标的数组。此数组中元素的个数可以大于此 Polygony 坐标的个数。额外的元素允许新的点添加到 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 大于 xpointsypoints 的长度。
NullPointerException - 如果 xpointsypointsnull
方法详细信息

reset

public void reset()
将此 Polygon 对象重置为一个空多边形。坐标数组及其中的数据不发生改变,但点的个数被重置为零,以便将旧的顶点数据标记为无效,并且开始从头累积新的顶点数据。与旧顶点相关的所有内部缓冲的数据都将被丢弃。注意,由于重用了重置之前的坐标数组,因此创建一个新的空 Polygon 与重置当前多边形相比,如果新多边形数据的顶点数远远少于重置之前的数据的顶点数,则重新创建将会提高内存的效率。

从以下版本开始:
1.4
另请参见:
invalidate()

invalidate

public void invalidate()
所有内部缓冲数据的失效或刷新都依赖于此 Polygon 的顶点坐标。此方法应该在完成对 xpointsypoints 数组中坐标的直接操作之后被调用,以避免产生与 getBoundscontains 这样的方法不一致的结果,后者这些方法可能从与顶点坐标相关联的更早的计算中缓冲数据。

从以下版本开始:
1.4
另请参见:
getBounds()

translate

public void translate(int deltaX,
                      int deltaY)
通过沿 x 轴移动 deltaX,沿 y 移动 deltaY,从而对 Polygon 的顶点进行平移。

参数:
deltaX - 沿 x 轴移动的量
deltaY - 沿 y 轴移动的量
从以下版本开始:
JDK1.1