JavaTM 2
Platform
Std. Ed. v1.4.0

java.awt.geom
クラス Area

java.lang.Object
  |
  +--java.awt.geom.Area
すべての実装インタフェース:
Cloneable, Shape

public class Area
extends Object
implements Shape, Cloneable

Area クラスは、任意の形状の領域を表現する、デバイスに依存しない仕様です。Area オブジェクトは、矩形、楕円、多角形など、領域が閉じたほかのジオメトリに対して特定のバイナリ CAG (構成領域ジオメトリ) 演算を実行するオブジェクトとして定義されます。CAG 演算には、Add (和集合)、Subtract、Intersect、ExclusiveOR があります。たとえば、矩形領域から楕円領域を引いた Area を構成できます。


コンストラクタの概要
Area()
          空の領域を作成するデフォルトコンストラクタです。
Area(Shape s)
          Area クラスは、指定された Shape オブジェクトから領域ジオメトリを作成します。
 
メソッドの概要
 void add(Area rhs)
          指定された Area の形状をこの Area の形状に追加します。
 Object clone()
          この Area オブジェクトと全く同じコピーを返します。
 boolean contains(double x, double y)
          指定された点がこの Area オブジェクトの境界内にあるかどうかを判定します。
 boolean contains(double x, double y, double w, double h)
          この Area オブジェクトが、指定された矩形領域を完全に内部に包含しているかどうかを判定します。
 boolean contains(Point2D p)
          指定された Point2D がこの Area オブジェクトの境界内にあるかどうかを判定します。
 boolean contains(Rectangle2D p)
          この Area オブジェクトが、指定された Rectangle2D を完全に内部に包含しているかどうかを判定します。
 Area createTransformedArea(AffineTransform t)
          指定された AffineTransform によって変換されたこの Area と同じジオメトリを含む、新しい Area オブジェクトを作成します。
 boolean equals(Area other)
          2 つの Area オブジェクトのジオメトリが等しいかどうかを判定します。
 void exclusiveOr(Area rhs)
          この Area の形状を、現在の形状と指定された Area の形状の結合領域からその共通部分を差し引いた領域に設定します。
 Rectangle getBounds()
          この Area を完全に囲むバウンディング Rectangle を返します。
 Rectangle2D getBounds2D()
          この Area を完全に囲む高精度バウンディング Rectangle2D を返します。
 PathIterator getPathIterator(AffineTransform at)
          この Area オブジェクトの輪郭に使う PathIterator を作成します。
 PathIterator getPathIterator(AffineTransform at, double flatness)
          この Area オブジェクトの平坦化した輪郭のための PathIterator を作成します。
 void intersect(Area rhs)
          この Area の形状を、現在の形状と指定された Area の形状の共通部分に設定します。
 boolean intersects(double x, double y, double w, double h)
          この Area オブジェクトの内部が、指定された矩形領域の内部と交差するかどうかを判定します。
 boolean intersects(Rectangle2D p)
          この Area オブジェクトの内部が、指定された Rectangle2D の内部と交差するかどうかを判定します。
 boolean isEmpty()
          この Area オブジェクトが領域を囲むかどうかを判定します。
 boolean isPolygonal()
          この Area が完全に、辺が直線の多角形ジオメトリから構成されているかどうかを判定します。
 boolean isRectangular()
          この Area の形状が矩形かどうかを判定します。
 boolean isSingular()
          この Area が単一の閉鎖サブパスから構成されているかどうかを判定します。
 void reset()
          この Area からジオメトリをすべて削除し、空の領域に戻します。
 void subtract(Area rhs)
          指定された Area の形状をこの Area の形状から取り去ります。
 void transform(AffineTransform t)
          この Area のジオメトリを、指定された AffineTransform を使って変換します。
 
クラス java.lang.Object から継承したメソッド
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

Area

public Area()
空の領域を作成するデフォルトコンストラクタです。


Area

public Area(Shape s)
Area クラスは、指定された Shape オブジェクトから領域ジオメトリを作成します。Shape が閉じていなければ、ジオメトリは明示的に閉じられます。Shape のジオメトリで指定されている塗りつぶし規則 (偶奇または屈曲) を使うと、結果として生成される閉じた領域を指定できます。

パラメータ:
s - 領域の作成側の Shape
メソッドの詳細

add

public void add(Area rhs)
指定された Area の形状をこの Area の形状に追加します。追加は和集合操作によって実現されます。

パラメータ:
rhs - 現在の形状に追加される Area

subtract

public void subtract(Area rhs)
指定された Area の形状をこの Area の形状から取り去ります。

パラメータ:
rhs - 現在の形状から取り去られる Area

intersect

public void intersect(Area rhs)
この Area の形状を、現在の形状と指定された Area の形状の共通部分に設定します。

パラメータ:
rhs - この Area と交差させる Area

exclusiveOr

public void exclusiveOr(Area rhs)
この Area の形状を、現在の形状と指定された Area の形状の結合領域からその共通部分を差し引いた領域に設定します。

パラメータ:
rhs - この Area との排他的論理和を求める Area

reset

public void reset()
この Area からジオメトリをすべて削除し、空の領域に戻します。


isEmpty

public boolean isEmpty()
この Area オブジェクトが領域を囲むかどうかを判定します。

戻り値:
この Area オブジェクトが空の領域を表す場合は true、そうでない場合は false

isPolygonal

public boolean isPolygonal()
この Area が完全に、辺が直線の多角形ジオメトリから構成されているかどうかを判定します。

戻り値:
この Area が完全に線セグメントから構成されている場合は true、そうでない場合は false

isRectangular

public boolean isRectangular()
この Area の形状が矩形かどうかを判定します。

戻り値:
この Area のジオメトリの形状が矩形の場合は true、そうでない場合は false

isSingular

public boolean isSingular()
この Area が単一の閉鎖サブパスから構成されているかどうかを判定します。このメソッドは、パスがサブパスを 0 または 1 つ含む場合は true、パスが 2 つ以上のサブパスを含む場合は false を返します。サブパスは、パスに現れる SEG_MOVETO セグメントの数によって数えられます。

戻り値:
Area が 1 つの基本ジオメトリから構成されている場合は true、そうでない場合は false

getBounds2D

public Rectangle2D getBounds2D()
この Area を完全に囲む高精度バウンディング Rectangle2D を返します。

Area クラスはその Shape にできるだけぴったりしたバウンディングボックスを返そうとします。バウンディングボックスは Shape の輪郭の曲線の制御点を含むようにはパディングされず、輪郭自体の実際のジオメトリにぴったりの大きさになります。

定義:
インタフェース Shape 内の getBounds2D
戻り値:
Area のバウンディング Rectangle2D
関連項目:
Shape.getBounds()

getBounds

public Rectangle getBounds()
この Area を完全に囲むバウンディング Rectangle を返します。

Area クラスはその Shape にできるだけぴったりしたバウンディングボックスを返そうとします。バウンディングボックスは Shape の輪郭のカーブの制御点を含むようにはパディングされず、輪郭自体の実際のジオメトリにぴったりの大きさになります。返されたオブジェクトは整数でバウンディングボックスを表すので、バウンディングボックスは、Shape のジオメトリを取り囲むもっとも近い整数座標というレベルでの一致になります。

定義:
インタフェース Shape 内の getBounds
戻り値:
Area のバウンディング Rectangle
関連項目:
Shape.getBounds2D()

clone

public Object clone()
この Area オブジェクトと全く同じコピーを返します。

オーバーライド:
クラス Object 内の clone
戻り値:
作成された複製オブジェクト
関連項目:
Cloneable

equals

public boolean equals(Area other)
2 つの Area オブジェクトのジオメトリが等しいかどうかを判定します。

パラメータ:
other - この Area と比較される Area
戻り値:
2 つのジオメトリが等しい場合は true、そうでない場合は false

transform

public void transform(AffineTransform t)
この Area のジオメトリを、指定された AffineTransform を使って変換します。ジオメトリが適切に変換され、これにより、このオブジェクトによって定義されている閉じた領域が永久的に変更されます。

パラメータ:
t - 領域を変換するのに使う変換

createTransformedArea

public Area createTransformedArea(AffineTransform t)
指定された AffineTransform によって変換されたこの Area と同じジオメトリを含む、新しい Area オブジェクトを作成します。この Area オブジェクトは変化しません。

パラメータ:
t - 新しい Area の変換に使う、指定された AffineTransform
戻り値:
変換されたジオメトリを表す新しい Area オブジェクト

contains

public boolean contains(double x,
                        double y)
指定された点がこの Area オブジェクトの境界内にあるかどうかを判定します。

定義:
インタフェース Shape 内の contains
戻り値:
点が完全に Area の内部にある場合は true、そうでない場合は false

contains

public boolean contains(Point2D p)
指定された Point2D がこの Area オブジェクトの境界内にあるかどうかを判定します。

定義:
インタフェース Shape 内の contains
パラメータ:
p - 判定される Point2D
戻り値:
指定された Point2D が完全に Area の内部にある場合は true、そうでない場合は false

contains

public boolean contains(double x,
                        double y,
                        double w,
                        double h)
この Area オブジェクトが、指定された矩形領域を完全に内部に包含しているかどうかを判定します。

定義:
インタフェース Shape 内の contains
パラメータ:
w - 指定された矩形領域の幅
h - 指定された矩形領域の高さ
戻り値:
指定された矩形領域が完全に Area の内部にある場合は true、そうでない場合は false
関連項目:
Area, Shape.intersects(double, double, double, double)

contains

public boolean contains(Rectangle2D p)
この Area オブジェクトが、指定された Rectangle2D を完全に内部に包含しているかどうかを判定します。

定義:
インタフェース Shape 内の contains
パラメータ:
p - 判定される Rectangle2D
戻り値:
Rectangle2D が完全に Area の内部にある場合は true、そうでない場合は false
関連項目:
Shape.contains(double, double, double, double)

intersects

public boolean intersects(double x,
                          double y,
                          double w,
                          double h)
この Area オブジェクトの内部が、指定された矩形領域の内部と交差するかどうかを判定します。

定義:
インタフェース Shape 内の intersects
パラメータ:
w - 指定された矩形領域の幅
h - 指定された矩形領域の高さ
戻り値:
領域の内部が指定された矩形領域と交差する場合は true、そうでない場合は false
関連項目:
Area

intersects

public boolean intersects(Rectangle2D p)
この Area オブジェクトの内部が、指定された Rectangle2D の内部と交差するかどうかを判定します。

定義:
インタフェース Shape 内の intersects
パラメータ:
p - 交差するかどうかが判定される Rectangle2D
戻り値:
指定された Rectangle2D と内部が交差する場合は true、そうでない場合は false
関連項目:
Shape.intersects(double, double, double, double)

getPathIterator

public PathIterator getPathIterator(AffineTransform at)
この Area オブジェクトの輪郭に使う PathIterator を作成します。この Area オブジェクトは変化しません。

定義:
インタフェース Shape 内の getPathIterator
パラメータ:
at - 繰り返し処理で返される座標に適用されるオプションの AffineTransform。変換されていない座標が必要な場合は null
戻り値:
この Area の輪郭のジオメトリを一度に 1 セグメントずつ返す PathIterator オブジェクト

getPathIterator

public PathIterator getPathIterator(AffineTransform at,
                                    double flatness)
この Area オブジェクトの平坦化した輪郭のための PathIterator を作成します。SEG_MOVETO、SEG_LINETO、SEG_CLOSE の 3 種類の点によって表現される曲線状でないパスセグメントだけが、反復子によって返されます。この Area オブジェクトは変化しません。

定義:
インタフェース Shape 内の getPathIterator
パラメータ:
at - 繰り返し処理で返される座標に適用されるオプションの AffineTransform。変換されていない座標が必要な場合は null
flatness - 指定された曲線上の制御点を動かしたとき、分割された曲線が端点を結ぶ直線により置換されない条件で、制御点がこの直線からもっとも離れる距離
戻り値:
この Area の輪郭のジオメトリを一度に 1 セグメントずつ返す PathIterator オブジェクト

JavaTM 2
Platform
Std. Ed. v1.4.0

バグの報告と機能のリクエスト
これ以外の API リファレンスおよび開発者用ドキュメントについては、 Java 2 SDK SE 開発者用ドキュメントを参照してください。 開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、 およびコード実例が含まれています。

Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.