    All Packages  Class Hierarchy  This Package  Previous  Next  Index

# Class java.awt.Polygon

    java.lang.Object
       |
       +----java.awt.Polygon

public class Polygon
extends Object
implements Shape, Serializable

The `Polygon` class encapsulates a description of a closed, two-dimensional region within a coordinate space. This region is bounded by an arbitrary number of line segments, each of which is one side of the polygon. Internally, a polygon comprises of a list of (x, y) coordinate pairs, where each pair defines a vertex of the polygon, and two successive pairs are the endpoints of a line that is a side of the polygon. The first and final pairs of (x, y) points are joined by a line segment that closes the polygon.

##

bounds
npoints
  The total number of points.
xpoints
  The array of x coordinates.
ypoints
  The array of y coordinates.

##

Polygon()
  Creates an empty polygon.
Polygon(int[], int[], int)
  Constructs and initializes a polygon from the specified parameters.

##

addPoint(int, int)
  Appends a point to this polygon.
contains(int, int)
  Determines whether the specified point is contained by this polygon.
contains(Point)
  Determines whether the specified point is inside the Polygon.
getBoundingBox()
  Deprecated.
getBounds()
  Gets the bounding box of this polygon.
inside(int, int)
  Deprecated.
translate(int, int)
  Translates the vertices by `deltaX` along the x axis and by `deltaY` along the y axis.

##

npoints

     public int npoints

  The total number of points.

xpoints

     public int xpoints[]

  The array of x coordinates.

ypoints

     public int ypoints[]

  The array of y coordinates.

bounds

     protected Rectangle bounds

##

Polygon

     public Polygon()

  Creates an empty polygon.

Polygon

     public Polygon(int xpoints[],
                    int ypoints[],
                    int npoints)

  Constructs and initializes a polygon from the specified parameters.

  Parameters:
    xpoints - an array of x coordinates.
    ypoints - an array of y coordinates.
    npoints - the total number of points in the polygon.
  Throws: NegativeArraySizeException
    if the value of `npoints` is negative.

##

translate

     public void translate(int deltaX,
                           int deltaY)

  Translates the vertices by `deltaX` along the x axis and by `deltaY` along the y axis.

  Parameters:
    deltaX - the amount to translate along the x axis
    deltaY - the amount to translate along the y axis

addPoint

     public void addPoint(int x,
                          int y)

  Appends a point to this polygon.

  If an operation that calculates the bounding box of this polygon has already been performed, such as `getBounds` or `contains`, then this method updates the bounding box.

  Parameters:
    x - the x coordinate of the point.
    y - the y coordinate of the point.
  See Also:
    getBounds, contains

getBounds

     public Rectangle getBounds()

  Gets the bounding box of this polygon. The bounding box is the smallest rectangle whose sides are parallel to the x and y axes of the coordinate space, and that can completely contain the polygon.

  Returns:
    a rectangle that defines the bounds of this polygon.

getBoundingBox

     public Rectangle getBoundingBox()

  Note: getBoundingBox() is deprecated. As of JDK version 1.1, replaced by `getBounds()`.

contains

     public boolean contains(Point p)

  Determines whether the specified point is inside the Polygon. Uses an even-odd insideness rule (also known as an alternating rule).

  Parameters:
    p - the point to be tested

contains

     public boolean contains(int x,
                             int y)

  Determines whether the specified point is contained by this polygon.

  (The `contains` method is based on code by Hanpeter van Vliet [hvvliet@inter.nl.net].)

  Parameters:
    x - the x coordinate of the point to be tested.
    y - the y coordinate of the point to be tested.
  Returns:
    `true` if the point (x, y) is contained by this polygon; `false` otherwise.

inside

     public boolean inside(int x,
                           int y)

  Note: inside() is deprecated. As of JDK version 1.1, replaced by `contains(int, int)`.

    All Packages  Class Hierarchy  This Package  Previous  Next  Index