JavaTM 2
Platform
Std. Ed. v1.4.0

java.awt.geom
クラス Rectangle2D

java.lang.Object
  |
  +--java.awt.geom.RectangularShape
        |
        +--java.awt.geom.Rectangle2D
すべての実装インタフェース:
Cloneable, Shape
直系の既知のサブクラス:
Rectangle, Rectangle2D.Double, Rectangle2D.Float

public abstract class Rectangle2D
extends RectangularShape

Rectangle2D クラスは、位置 (x, y) およびサイズ (w x h) で定義される矩形を記述します。

このクラスは、2D 矩形を格納するすべてのオブジェクトの抽象スーパークラスであり、座標の実際の記憶式表現は、サブクラスに委ねられます。


入れ子クラスの概要
static class Rectangle2D.Double
          Double クラスは、double 座標で指定される矩形を定義します。
static class Rectangle2D.Float
          Float クラスは、float 座標で指定される矩形を定義します。
 
フィールドの概要
static int OUT_BOTTOM
          点がこの Rectangle2D の下にあることを示すビットマスクです。
static int OUT_LEFT
          点がこの Rectangle2D の左にあることを示すビットマスクです。
static int OUT_RIGHT
          点がこの Rectangle2D の右にあることを示すビットマスクです。
static int OUT_TOP
          点がこの Rectangle2D の上にあることを示すビットマスクです。
 
コンストラクタの概要
protected Rectangle2D()
          これは、インスタンスを直接には生成できない抽象クラスです。
 
メソッドの概要
 void add(double newx, double newy)
          倍精度の newx 引数および newy 引数で指定された点をこの Rectangle2D に追加します。
 void add(Point2D pt)
          この Rectangle2DPoint2D オブジェクトの pt を追加します。
 void add(Rectangle2D r)
          この Rectangle2DRectangle2D オブジェクトを追加します。
 boolean contains(double x, double y)
          指定された座標が、この Rectangle2D の境界内にあるかどうかを判定します。
 boolean contains(double x, double y, double w, double h)
          この Rectangle2D の内部が、指定された矩形座標セットを完全に内包するかどうかを判定します。
abstract  Rectangle2D createIntersection(Rectangle2D r)
          この Rectangle2D と指定された Rectangle2D の共通部分を表す新しい Rectangle2D オブジェクトを返します。
abstract  Rectangle2D createUnion(Rectangle2D r)
          この Rectangle2D と指定された Rectangle2D の和集合を表す新しい Rectangle2D オブジェクトを返します。
 boolean equals(Object obj)
          指定された Object がこの Rectangle2D と等しいかどうかを判定します。
 Rectangle2D getBounds2D()
          この Rectangle2D の高精度バウンディングボックスを返します。
 PathIterator getPathIterator(AffineTransform at)
          この Rectangle2D の境界を定義する繰り返しオブジェクトを返します。
 PathIterator getPathIterator(AffineTransform at, double flatness)
          平坦化された Rectangle2D の境界を定義する繰り返しオブジェクトを返します。
 int hashCode()
          この Rectangle2D のハッシュコードを返します。
static void intersect(Rectangle2D src1, Rectangle2D src2, Rectangle2D dest)
          指定された元の Rectangle2D オブジェクトのペアの共通部分をとり、その結果を指定された転送先 Rectangle2D オブジェクトに格納します。
 boolean intersects(double x, double y, double w, double h)
          この Rectangle2D の内部が、指定された矩形座標セットの内部と交差するかどうかを判定します。
 boolean intersectsLine(double x1, double y1, double x2, double y2)
          指定されたラインセグメントが、この Rectangle2D の内部と交差するかどうかを判定します。
 boolean intersectsLine(Line2D l)
          指定されたラインセグメントが、この Rectangle2D の内部と交差するかどうかを判定します。
abstract  int outcode(double x, double y)
          この Rectangle2D を基準に、指定された座標のある場所を判定します。
 int outcode(Point2D p)
          この Rectangle2D を基準に、指定された Point2D のある場所を判定します。
 void setFrame(double x, double y, double w, double h)
          この Rectangle2D の外部境界の位置およびサイズを、指定された矩形値に設定します。
abstract  void setRect(double x, double y, double w, double h)
          この Rectangle2D の位置およびサイズを、指定された double 型の値に設定します。
 void setRect(Rectangle2D r)
          この Rectangle2D を、指定された Rectangle2D と同じになるように設定します。
static void union(Rectangle2D src1, Rectangle2D src2, Rectangle2D dest)
          元の Rectangle2D オブジェクトのペアを結合し、その結果を指定された転送先 Rectangle2D オブジェクトに格納します。
 
クラス java.awt.geom.RectangularShape から継承したメソッド
clone, contains, contains, getBounds, getCenterX, getCenterY, getFrame, getHeight, getMaxX, getMaxY, getMinX, getMinY, getWidth, getX, getY, intersects, isEmpty, setFrame, setFrame, setFrameFromCenter, setFrameFromCenter, setFrameFromDiagonal, setFrameFromDiagonal
 
クラス java.lang.Object から継承したメソッド
finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

OUT_LEFT

public static final int OUT_LEFT
点がこの Rectangle2D の左にあることを示すビットマスクです。

導入されたバージョン:
1.2
関連項目:
定数フィールド値

OUT_TOP

public static final int OUT_TOP
点がこの Rectangle2D の上にあることを示すビットマスクです。

導入されたバージョン:
1.2
関連項目:
定数フィールド値

OUT_RIGHT

public static final int OUT_RIGHT
点がこの Rectangle2D の右にあることを示すビットマスクです。

導入されたバージョン:
1.2
関連項目:
定数フィールド値

OUT_BOTTOM

public static final int OUT_BOTTOM
点がこの Rectangle2D の下にあることを示すビットマスクです。

導入されたバージョン:
1.2
関連項目:
定数フィールド値
コンストラクタの詳細

Rectangle2D

protected Rectangle2D()
これは、インスタンスを直接には生成できない抽象クラスです。インスタンス生成のためには型固有の実装サブクラスが用意されており、これらのサブクラスにより、下記の各種アクセス用メソッドに必要な情報を格納するための形式が多数提供されます。

関連項目:
Rectangle2D.Float, Rectangle2D.Double, Rectangle
メソッドの詳細

setRect

public abstract void setRect(double x,
                             double y,
                             double w,
                             double h)
この Rectangle2D の位置およびサイズを、指定された double 型の値に設定します。

パラメータ:
w - この Rectangle2D の幅を表す値
h - この Rectangle2D の高さを表す値
導入されたバージョン:
1.2

setRect

public void setRect(Rectangle2D r)
この Rectangle2D を、指定された Rectangle2D と同じになるように設定します。

パラメータ:
r - 指定された Rectangle2D
導入されたバージョン:
1.2

intersectsLine

public boolean intersectsLine(double x1,
                              double y1,
                              double x2,
                              double y2)
指定されたラインセグメントが、この Rectangle2D の内部と交差するかどうかを判定します。

戻り値:
指定されたラインセグメントが Rectangle2D の内部と交差する場合は true、そうでない場合は false
導入されたバージョン:
1.2

intersectsLine

public boolean intersectsLine(Line2D l)
指定されたラインセグメントが、この Rectangle2D の内部と交差するかどうかを判定します。

パラメータ:
l - この Rectangle2D の内部と交差するかどうかを判定する Line2D
戻り値:
指定された Line2D がこの Rectangle2D の内部と交差する場合は true、そうでない場合は false
導入されたバージョン:
1.2

outcode

public abstract int outcode(double x,
                            double y)
この Rectangle2D を基準に、指定された座標のある場所を判定します。このメソッドは、この Rectangle2D の各辺について、指定された座標がこの Rectangle2D のほかの辺と同じサイドにあるかどうかを示す適切なマスク値の 2 項論理和を計算します。

戻り値:
すべての適切な OUT コードの論理和
導入されたバージョン:
1.2
関連項目:
OUT_LEFT, OUT_TOP, OUT_RIGHT, OUT_BOTTOM

outcode

public int outcode(Point2D p)
この Rectangle2D を基準に、指定された Point2D のある場所を判定します。このメソッドは、この Rectangle2D の各辺について、指定された Point2D 点がこの Rectangle2D のほかの辺と同じサイドにあるかどうかを示す適切なマスク値の 2 項論理和を計算します。

パラメータ:
p - 指定された Point2D
戻り値:
すべての適切な OUT コードの論理和
導入されたバージョン:
1.2
関連項目:
OUT_LEFT, OUT_TOP, OUT_RIGHT, OUT_BOTTOM

setFrame

public void setFrame(double x,
                     double y,
                     double w,
                     double h)
この Rectangle2D の外部境界の位置およびサイズを、指定された矩形値に設定します。

定義:
クラス RectangularShape 内の setFrame
パラメータ:
w - この Rectangle2D の外部境界の幅を表す値
h - この Rectangle2D の外部境界の高さを表す値
導入されたバージョン:
1.2
関連項目:
RectangularShape.getFrame()

getBounds2D

public Rectangle2D getBounds2D()
この Rectangle2D の高精度バウンディングボックスを返します。

戻り値:
この Rectangle2D のバウンディングボックス
導入されたバージョン:
1.2
関連項目:
Shape.getBounds()

contains

public boolean contains(double x,
                        double y)
指定された座標が、この Rectangle2D の境界内にあるかどうかを判定します。

戻り値:
指定された座標がこの Rectangle2D の境界内にある場合は true、そうでない場合は false
導入されたバージョン:
1.2

intersects

public boolean intersects(double x,
                          double y,
                          double w,
                          double h)
この Rectangle2D の内部が、指定された矩形座標セットの内部と交差するかどうかを判定します。

パラメータ:
w - 指定された矩形座標セットの幅
h - 指定された矩形座標セットの高さ
戻り値:
この Rectangle2D が指定された矩形座標セットの内部と交差する場合は true、そうでない場合は false
導入されたバージョン:
1.2
関連項目:
Area

contains

public boolean contains(double x,
                        double y,
                        double w,
                        double h)
この Rectangle2D の内部が、指定された矩形座標セットを完全に内包するかどうかを判定します。

パラメータ:
w - 指定された矩形座標セットの幅
h - 指定された矩形座標セットの高さ
戻り値:
この Rectangle2D が指定された矩形座標セットを完全に内包する場合は true、そうでない場合は false
導入されたバージョン:
1.2
関連項目:
Area, Shape.intersects(double, double, double, double)

createIntersection

public abstract Rectangle2D createIntersection(Rectangle2D r)
この Rectangle2D と指定された Rectangle2D の共通部分を表す新しい Rectangle2D オブジェクトを返します。

パラメータ:
r - この Rectangle2D と交差する Rectangle2D
戻り値:
指定された Rectangle2D とこの Rectangle2D の両方に含まれる最大の Rectangle2D
導入されたバージョン:
1.2

intersect

public static void intersect(Rectangle2D src1,
                             Rectangle2D src2,
                             Rectangle2D dest)
指定された元の Rectangle2D オブジェクトのペアの共通部分をとり、その結果を指定された転送先 Rectangle2D オブジェクトに格納します。元の矩形の 1 つを転送先にして、3 番目の Rectangle2D オブジェクトを作成しないようにすることもできますが、その場合、元の矩形の元の点はこのメソッドで上書きされます。

パラメータ:
src1 - 交差させる最初の Rectangle2D オブジェクトのペア
src2 - 交差させる 2 番目の Rectangle2D オブジェクトのペア
dest - src1src2 の共通部分を保持する Rectangle2D
導入されたバージョン:
1.2

createUnion

public abstract Rectangle2D createUnion(Rectangle2D r)
この Rectangle2D と指定された Rectangle2D の和集合を表す新しい Rectangle2D オブジェクトを返します。

パラメータ:
r - この Rectangle2D と結合される Rectangle2D
戻り値:
指定された Rectangle2D とこの Rectangle2D の両方を含む最小の Rectangle2D
導入されたバージョン:
1.2

union

public static void union(Rectangle2D src1,
                         Rectangle2D src2,
                         Rectangle2D dest)
元の Rectangle2D オブジェクトのペアを結合し、その結果を指定された転送先 Rectangle2D オブジェクトに格納します。元の矩形の 1 つを転送先にして、3 番目の Rectangle2D オブジェクトを作成しないようにすることもできますが、その場合、元の矩形の元の点はこのメソッドで上書きされます。

パラメータ:
src1 - 結合される最初の Rectangle2D オブジェクトのペア
src2 - 結合される 2 番目の Rectangle2D オブジェクトのペア
dest - src1src2 の和集合の結果を保持する Rectangle2D
導入されたバージョン:
1.2

add

public void add(double newx,
                double newy)
倍精度の newx 引数および newy 引数で指定された点をこの Rectangle2D に追加します。その Rectangle2D は、元の Rectangle2D と指定された点の両方を含む最小の Rectangle2D となります。

点を追加したあと、追加された点を引数とする contains の呼び出しは、必ずしも true を返しません。contains メソッドは、矩形の右端または下端にある点については true を返しません。そのため、追加された点が拡大された矩形の左端または下端にある場合、contains はその点について false を返します。

導入されたバージョン:
JDK1.0

add

public void add(Point2D pt)
この Rectangle2DPoint2D オブジェクトの pt を追加します。その Rectangle2D は、元の Rectangle2D と指定された Point2D の両方を含む最小の Rectangle2D になります。

点を追加したあと、追加された点を引数とする contains の呼び出しは、必ずしも true を返しません。contains メソッドは、矩形の右端または下端にある点については true を返しません。そのため、追加された点が拡大された矩形の左端または下端にある場合、contains はその点について false を返します。

パラメータ:
pt - この Rectangle2D に追加する新しい Point2D
導入されたバージョン:
JDK1.0

add

public void add(Rectangle2D r)
この Rectangle2DRectangle2D オブジェクトを追加します。その結果の Rectangle2D は、2 つの Rectangle2D オブジェクトの和集合となります。

パラメータ:
r - この Rectangle2D に追加する Rectangle2D
導入されたバージョン:
JDK1.0

getPathIterator

public PathIterator getPathIterator(AffineTransform at)
この Rectangle2D の境界を定義する繰り返しオブジェクトを返します。このクラスの反復子は、マルチスレッドに対して安全です。つまりこの Rectangle2D クラスは、この Rectangle2D オブジェクトのジオメトリに対する変更が、このジオメトリについてすでに進行中の繰り返し処理に影響を与えないことを保証します。

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

getPathIterator

public PathIterator getPathIterator(AffineTransform at,
                                    double flatness)
平坦化された Rectangle2D の境界を定義する繰り返しオブジェクトを返します。矩形はすでに平坦であるため、flatness パラメータは無視されます。このクラスの反復子は、マルチスレッドに対して安全です。つまりこの Rectangle2D クラスは、この Rectangle2D オブジェクトのジオメトリに対する変更が、このジオメトリについてすでに進行中の繰り返し処理に影響を与えないことを保証します。

定義:
インタフェース Shape 内の getPathIterator
オーバーライド:
クラス RectangularShape 内の getPathIterator
パラメータ:
at - 繰り返し処理で返される座標に適用されるオプションの AffineTransform。変換されていない座標が必要な場合は null
flatness - 曲線セグメントを作成するために使用されるラインセグメントがもとの曲線上の任意の点からもっとも離れる距離。矩形はすでに平坦であるため、flatness パラメータは無視される
戻り値:
この Rectangle2D の輪郭のジオメトリを一度に 1 セグメントずつ返す PathIterator オブジェクト
導入されたバージョン:
1.2

hashCode

public int hashCode()
この Rectangle2D のハッシュコードを返します。

オーバーライド:
クラス Object 内の hashCode
戻り値:
この Rectangle2D のハッシュコード
関連項目:
Object.equals(java.lang.Object), Hashtable

equals

public boolean equals(Object obj)
指定された Object がこの Rectangle2D と等しいかどうかを判定します。指定された Object は、Rectangle2D のインスタンスであり、位置およびサイズがこの Rectangle2D と同じ場合に、この Rectangle2D と等しいと見なされます。

オーバーライド:
クラス Object 内の equals
パラメータ:
obj - この Rectangle2D と比較する Object
戻り値:
objRectangle2D のインスタンスであり、両者が同じ値を持つ場合は true、そうでない場合は false
導入されたバージョン:
1.2
関連項目:
Object.hashCode(), Hashtable

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.