Java プラットフォーム 1.2

java.awt.geom
クラス Area

java.lang.Object
  |
  +--java.awt.geom.Area

public class Area
extends Object
implements Shape, Cloneable

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


コンストラクタの概要
Area()
          空の領域を作成するデフォルトコンストラクタです。
Area(Shape g)
          Area クラスは、指定された Shape オブジェクトから領域ジオメトリを作成します。
 
メソッドの概要
 void add(Area rhs)
          指定された Area の形状を現在の形状に追加します。
 Object clone()
          clone 関数です。
 boolean contains(double x, double y)
          指定された点が形状の境界内にあるかどうかを判定します。
 boolean contains(double x, double y, double w, double h)
          領域が、指定された矩形領域を完全に内部に包含しているかどうかを判定します。
 boolean contains(Point2D p)
          指定された Point2D が形状の境界内にあるかどうかを判定します。
 boolean contains(Rectangle2D r)
          領域が、指定された Rectangle2D を完全に内部に包含しているかどうかを判定します。
 Area createTransformedArea(AffineTransform t)
          この Area のジオメトリである新しい Area を作成し、指定された AffineTransform を使って、その新しい Area を変換します。
 boolean equals(Area rhs)
          2 つのオブジェクトのジオメトリが等しいかどうかを判定します。
 void exclusiveOr(Area rhs)
          この Area の形状を、現在の形状と指定された Area の形状の結合領域からその共通部分を差し引いた領域に設定します。
 Rectangle getBounds()
          領域を完全に囲むバウンディング Rectangle を返します。
 Rectangle2D getBounds2D()
          領域を完全に囲む高精度バウンディング Rectangle2D を返します。
 PathIterator getPathIterator(AffineTransform t)
          この Area オブジェクトの輪郭に使う PathIterator を作成します。
 PathIterator getPathIterator(AffineTransform t, double f)
          この Area オブジェクトの平坦化した輪郭のための PathIterator を作成します。
 void intersect(Area rhs)
          この Area の形状を、現在の形状と指定された Area の形状の共通部分に設定します。
 boolean intersects(double x, double y, double w, double h)
          領域の内部が、指定された矩形領域の内部と交差するかどうかを判定します。
 boolean intersects(Rectangle2D r)
          領域の内部が、指定された Rectangle2D の内部と交差するかどうかを判定します。
 boolean isEmpty()
          この領域がジオメトリを格納しているかどうかを判定します。
 boolean isPolygonal()
          領域が完全に、辺が直線の多角形ジオメトリから構成されているかどうかを判定します。
 boolean isRectangular()
          領域の形状が矩形かどうかを判定します。
 boolean isSingular()
          領域が 1 つの基本ジオメトリから構成されているかどうかを判定します。
 void reset()
          この領域からすべての基本ジオメトリを削除し、空の領域に戻します。
 void subtract(Area rhs)
          指定された 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 g)
Area クラスは、指定された Shape オブジェクトから領域ジオメトリを作成します。Shape が閉じていなければ、ジオメトリは明示的に閉じられます。Shape のジオメトリで指定されている塗りつぶし規則 (偶奇または屈曲) を使うと、結果として生成される閉じた領域を指定できます。
パラメータ:
g - 領域の作成側の Shape
メソッドの詳細

transform

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

reset

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

isEmpty

public boolean isEmpty()
この領域がジオメトリを格納しているかどうかを判定します。
戻り値:
この領域が基本ジオメトリを格納していない場合や空の領域の場合は true、そうでない場合は false

isPolygonal

public boolean isPolygonal()
領域が完全に、辺が直線の多角形ジオメトリから構成されているかどうかを判定します。
戻り値:
領域が完全に多角形の辺から構成されている場合は true、そうでない場合は false

isRectangular

public boolean isRectangular()
領域の形状が矩形かどうかを判定します。
戻り値:
領域の形状が矩形の場合は true、そうでない場合は false

isSingular

public boolean isSingular()
領域が 1 つの基本ジオメトリから構成されているかどうかを判定します。
戻り値:
領域が 1 つの基本ジオメトリから構成されている場合は true、そうでない場合は false

getBounds

public Rectangle getBounds()
領域を完全に囲むバウンディング Rectangle を返します。
定義:
インタフェース Shape 内の getBounds
戻り値:
領域のバウンディング Rectangle

getBounds2D

public Rectangle2D getBounds2D()
領域を完全に囲む高精度バウンディング Rectangle2D を返します。
定義:
インタフェース Shape 内の getBounds2D
戻り値:
領域のバウンディング Rectangle2D

intersects

public boolean intersects(double x,
                          double y,
                          double w,
                          double h)
領域の内部が、指定された矩形領域の内部と交差するかどうかを判定します。
定義:
インタフェース Shape 内の intersects
パラメータ:
x, y - 矩形領域の左上隅の座標
w - 矩形領域の幅
h - 矩形領域の高さ
戻り値:
領域の内部が指定された矩形領域と交差する場合は true、そうでない場合は false

intersects

public boolean intersects(Rectangle2D r)
領域の内部が、指定された Rectangle2D の内部と交差するかどうかを判定します。
定義:
インタフェース Shape 内の intersects
パラメータ:
r - 交差するかどうかが判定される Rectangle2D
戻り値:
指定された Rectangle2D と内部が交差する場合は true、そうでない場合は false

contains

public boolean contains(double x,
                        double y)
指定された点が形状の境界内にあるかどうかを判定します。
定義:
インタフェース Shape 内の contains
パラメータ:
x, y - 指定する点
戻り値:
点が完全に領域内部にある場合は true、そうでない場合は false

contains

public boolean contains(Point2D p)
指定された Point2D が形状の境界内にあるかどうかを判定します。
定義:
インタフェース Shape 内の contains
パラメータ:
p - 判定される Point2D
戻り値:
指定された Point2D が完全に領域内部にある場合は true、そうでない場合は false

contains

public boolean contains(double x,
                        double y,
                        double w,
                        double h)
領域が、指定された矩形領域を完全に内部に包含しているかどうかを判定します。
定義:
インタフェース Shape 内の contains
パラメータ:
x, y - 矩形領域の左上隅の座標
w - 矩形領域の幅
h - 矩形領域の高さ
戻り値:
指定された矩形領域が完全に領域の内部にある場合は true、そうでない場合は false

contains

public boolean contains(Rectangle2D r)
領域が、指定された Rectangle2D を完全に内部に包含しているかどうかを判定します。
定義:
インタフェース Shape 内の contains
パラメータ:
r - 判定される Rectangle2D
戻り値:
Rectangle2D が領域の内部に完全に包含されている場合は true、そうでない場合は false

add

public void add(Area rhs)
指定された Area の形状を現在の形状に追加します。追加は和集合操作によって実現されます。
パラメータ:
rhs - 現在の形状に追加される Area

subtract

public void subtract(Area rhs)
指定された 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

clone

public Object clone()
clone 関数です。Cloneable と互換になる予定です。
戻り値:
作成された複製オブジェクト
オーバーライド:
クラス Object 内の clone

equals

public boolean equals(Area rhs)
2 つのオブジェクトのジオメトリが等しいかどうかを判定します。
パラメータ:
rhs - この Area と比較される Area
戻り値:
2 つの領域ジオメトリが等しい場合は true、そうでない場合は false

getPathIterator

public PathIterator getPathIterator(AffineTransform t)
この Area オブジェクトの輪郭に使う PathIterator を作成します。この Area オブジェクトは変化しません。
定義:
インタフェース Shape 内の getPathIterator
パラメータ:
t - 繰り返し処理で返される座標に適用される任意の AffineTransform。ただし、座標の変換が不要な場合は null
戻り値:
この Area の輪郭のジオメトリを一度に 1 セグメントずつ返す PathIterator オブジェクト

getPathIterator

public PathIterator getPathIterator(AffineTransform t,
                                    double f)
この Area オブジェクトの平坦化した輪郭のための PathIterator を作成します。SEG_MOVETO、SEG_LINETO、SEG_CLOSE の 3 種類の点によって表現される曲線状でないパスセグメントだけが、反復子によって返されます。この Area オブジェクトは変化しません。
定義:
インタフェース Shape 内の getPathIterator
パラメータ:
t - 繰り返し処理で返される座標に適用される任意の AffineTransform。ただし、座標の変換が不要な場合は null
f - 指定された曲線上の制御点を動かしたとき、分割された曲線が端点を結ぶ直線により置換されない条件で、制御点がこの直線からもっとも離れる距離
戻り値:
この Area の輪郭のジオメトリを一度に 1 セグメントずつ返す PathIterator オブジェクト

createTransformedArea

public Area createTransformedArea(AffineTransform t)
この Area のジオメトリである新しい Area を作成し、指定された AffineTransform を使って、その新しい Area を変換します。この Area オブジェクトは変化しません。
パラメータ:
t - 新しい Area の変換に使う AffineTransform
戻り値:
変換されたジオメトリを表現する新しい Area オブジェクト

Java プラットフォーム 1.2

バグや機能要求の報告
新しい javadoc の表示についてのコメントやご提案
Java は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-1998 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.