|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object java.awt.Polygon
public class Polygon
Polygon
クラスは、座標空間を持つ閉じられた 2 次元領域の記述をカプセル化します。この領域は、多角形の 1 辺をなす線セグメントの任意の数によって境界を区切られます。内部的には、多角形は (x, y) 座標ペアのリストから構成されます。この場合、各ペアは多角形の「頂点」を定義し、連続する 2 つのペアは多角形の 1 辺をなす線の端点になります。(x, y) 点の最初と最後のペアは、多角形を閉じる線セグメントによって結合されます。この Polygon
は偶奇屈曲規則によって定義されます。偶奇屈曲規則の定義については、WIND_EVEN_ODD
を参照してください。contains
、intersects
、および inside
メソッドを含むこのクラスのヒット検査メソッドは、Shape
クラスのコメントに記述された「内側」の定義を使用します。
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 バージョン 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 バージョン 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)
Polygon の頂点を x 軸に沿って deltaX 、および y 軸に沿って deltaY 移動します。 |
クラス 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)
Polygon
の頂点を x 軸に沿って deltaX
、および y 軸に沿って deltaY
移動します。
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
のバウンディングボックスを返します。このバウンディングボックスは辺が座標空間の x 軸および y 軸に平行で Polygon
を完全に格納する最小の Rectangle
です。
Shape
内の getBounds
Polygon
の境界を定義する 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
が指定座標 (x, y) を内包している場合は true
、そうでない場合は false
contains(double, double)
public Rectangle2D getBounds2D()
Shape
の高精度バウンディングボックスを返します。
Shape
内の getBounds2D
Shape
の正確な境界となる Rectangle2D
Shape.getBounds()
public boolean contains(double x, double y)
Polygon
の内側にあるかどうかを判定します。「内側」の定義については Shape
のクラスのコメントを参照してください。
Shape
内の contains
x
- 指定された x 座標y
- 指定された y 座標
Polygon
が指定された座標を内包している場合は true
、そうでない場合は false
public boolean contains(Point2D p)
Point2D
がこの Polygon
の境界内にあるかどうかを判定します。
Shape
内の contains
p
- 指定された Point2D
Polygon
が指定された Point2D
を内包している場合は true
、そうでない場合は false
contains(double, double)
public boolean intersects(double x, double y, double w, double h)
Polygon
の内部が、指定された矩形座標セットの内部と交差するかどうかを判定します。
Shape
内の intersects
x
- 指定された矩形形状の左上隅の x 座標y
- 指定された矩形形状の左上隅の y 座標w
- 指定された矩形形状の幅h
- 指定された矩形形状の高さ
Polygon
と指定された矩形座標セットの内部が交差する場合は true
、そうでない場合は false
Area
public boolean intersects(Rectangle2D r)
Polygon
の内部が、指定された Rectangle2D
の内部と交差するかどうかを判定します。
Shape
内の intersects
r
- 指定された Rectangle2D
Polygon
と指定された Rectangle2D
の内部が交差する場合は true
、そうでない場合は false
Shape.intersects(double, double, double, double)
public boolean contains(double x, double y, double w, double h)
Polygon
の内部が、指定された矩形座標セットを完全に内包するかどうかを判定します。
Shape
内の contains
x
- 指定された矩形座標セットの左上隅の x 座標y
- 指定された矩形座標セットの左上隅の y 座標w
- 矩形座標セットの幅h
- 矩形座標セットの高さ
Polygon
が指定された矩形座標セットを完全に内包する場合は true
、そうでない場合は false
Area
,
Shape.intersects(double, double, double, double)
public boolean contains(Rectangle2D r)
Polygon
の内部が、指定された Rectangle2D
を完全に内包するかどうかを判定します。
Shape
内の contains
r
- 指定された Rectangle2D
Polygon
が指定された Rectangle2D
を完全に内包する場合は true
、そうでない場合は false
contains(double, double, double, double)
public PathIterator getPathIterator(AffineTransform at)
Polygon
の境界に沿って繰り返し処理を行い、Polygon
の輪郭のジオメトリへのアクセスを提供する反復子オブジェクトを返します。任意の AffineTransform
が指定された場合、繰り返し処理で返される座標がそれに応じて変換されます。
Shape
内の getPathIterator
at
- 繰り返し処理で返される座標に適用されるオプションの AffineTransform
。変換されていない座標が必要な場合は null
Polygon
のジオメトリへのアクセスを提供する PathIterator
public PathIterator getPathIterator(AffineTransform at, double flatness)
Shape
の境界に沿って繰り返し処理を行い、Shape
の輪郭のジオメトリへのアクセスを提供する反復子オブジェクトを返します。SEG_MOVETO、SEG_LINETO、および SEG_CLOSE ポイント型だけが反復子によって返されます。多角形はすでに平坦であるため、flatness
パラメータは無視されます。オプションの AffineTransform
は、繰り返し処理で返される座標がそれに応じて変換される場合に指定することができます。
Shape
内の getPathIterator
at
- 繰り返し処理で返される座標に適用されるオプションの AffineTransform
。変換されていない座標が必要な場合は null
flatness
- 指定された曲線上の制御点を動かしたとき、分割された曲線が端点を結ぶ直線により置換されない条件で、制御点がこの直線からもっとも離れる距離。多角形はすでに平坦であるため、flatness
パラメータは無視される
Shape
オブジェクトのジオメトリへのアクセスを提供する PathIterator
オブジェクト
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。