モジュール java.desktop
パッケージ java.awt.geom

クラスArea

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

public class Area extends Object implements Shape, Cloneable
Areaオブジェクトは、2次元空間の閉じた領域について解像度に依存しない記述を格納および操作します。 Areaオブジェクトは変換可能であり、ほかのAreaオブジェクトとの結合時に各種の構成領域ジオメトリ(CAG)演算を実行できます。 CAG演算には、領域のadditionsubtractionintersection、およびexclusive orが含まれます。 各種の演算の例については、リンク先のメソッド・ドキュメントを参照してください。

Areaクラスは、Shapeインタフェースを実装し、その当たり判定およびパス反復機能のすべてを完全にサポートしますが、次のいくつかの点で、Areaは一般化されたパスより特化されています。

  • 格納されるのは、閉じたパスとサブパスだけです。 閉じていないパスから構築されたAreaオブジェクトは、これらのパスがGraphics2D.fillメソッドで塗りつぶされたかのように、構築中に暗黙的に閉じられます。
  • 格納される個別のサブパスの内部は、どれも空ではなく、オーバーラップしません。 パスは、構築中に個別のオーバーラップしないコンポーネントに分解されて、空のコンポーネントは廃棄されます。空ではなく、オーバーラップしないプロパティは、後続のすべてのCAG演算で維持されます。 異なるコンポーネントのサブパスの輪郭線は、閉じた領域がオーバーラップするように交差していないかぎり、接触することがあります。
  • Areaの輪郭線を記述するパスの幾何学的図形は、同じ2次元の閉じた領域を記述しているという点でのみ構築元のパスに似ていますが、記述のためにまったく異なるタイプと順序のパス・セグメントを使用する可能性があります。
Areaの使用時に必ずしも明白ではない点は次のとおりです。
  • 閉じていない(開いている) ShapeからAreaを作成すると、Areaオブジェクトの輪郭線は閉じます。
  • 囲んでいる領域がない(「閉じている」場合を含む) ShapeからAreaを作成すると、空のAreaが生成されます。 たとえばよくある例として、ラインが囲んでいる領域がないために、このラインからAreaを生成すると空になります。 空のAreaは、そのPathIteratorオブジェクト内の幾何学的図形を反復しません。
  • 自己交差するShapeは、それぞれが元のパスのいずれかの交差していない部分を囲む2つ(以上の)サブパスに分割されることがあります。
  • Areaは、元の輪郭線が単純で明確であっても、多くのパス・セグメントを使用して同じ幾何学的図形を記述することがあります。 Areaクラスがパス上で実行する必要がある分析は、人が考える「単純で明確」という概念と同じ概念を反映しているとはかぎりません。

導入されたバージョン:
1.2