JavaTM 2 Platform
Std. Ed. v1.3

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 型の値に設定します。
パラメータ:
x, y - この Rectangle2D の左上隅の位置を表す座標
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 の内部と交差するかどうかを判定します。
パラメータ:
x1, y1 - ラインセグメントの最初の端点
x2, y2 - ラインセグメントの 2 番目の端点
戻り値:
指定されたラインセグメントが 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 項論理和を計算します。
パラメータ:
x, y - 指定された座標
戻り値:
すべての適切な 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
パラメータ:
x, y - この Rectangle2D の外部境界の左上隅の位置を表す座標
w - この Rectangle2D の外部境界の幅を表す値
h - この Rectangle2D の外部境界の高さを表す値
導入されたバージョン:
1.2

getBounds2D

public Rectangle2D getBounds2D()
この Rectangle2D の高精度バウンディングボックスを返します。
戻り値:
この Rectangle2D のバウンディングボックス
導入されたバージョン:
1.2

contains

public boolean contains(double x,
                        double y)
指定された座標が、この Rectangle2D の境界内にあるかどうかを判定します。
パラメータ:
x, y - 判定対象の座標
戻り値:
指定された座標がこの Rectangle2D の境界内にある場合は true、そうでない場合は false
導入されたバージョン:
1.2

intersects

public boolean intersects(double x,
                          double y,
                          double w,
                          double h)
この Rectangle2D の内部が、指定された矩形座標セットの内部と交差するかどうかを判定します。
パラメータ:
x, y - 矩形座標セットの左上隅の座標
w - 矩形座標セットの幅
h - 矩形座標セットの高さ
戻り値:
この Rectangle2D が指定された矩形座標セットの内部と交差する場合は true、そうでない場合は false
導入されたバージョン:
1.2

contains

public boolean contains(double x,
                        double y,
                        double w,
                        double h)
この Rectangle2D の内部が、指定された矩形座標セットを完全に内包するかどうかを判定します。
パラメータ:
x, y - 矩形座標セットの左上隅の座標
w - 矩形座標セットの幅
h - 矩形座標セットの高さ
戻り値:
この Rectangle2D が指定された矩形座標セットを完全に内包する場合は true、そうでない場合は false
導入されたバージョン:
1.2

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 オブジェクトに格納します。
パラメータ:
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 オブジェクトに格納します。
パラメータ:
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 を返します。

パラメータ:
newx, newy - 新しい点の座標
導入されたバージョン:
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 オブジェクトのジオメトリに対する変更が、このジオメトリについてすでに進行中の繰り返し処理に影響を与えないことを保証します。
オーバーライド:
クラス RectangularShape 内の getPathIterator
パラメータ:
at - 繰り返し処理で返される座標に適用されるオプションの AffineTransform。変換されていない座標が必要な場合は null
flatness - 曲線セグメントを作成するために使用されるラインセグメントがもとの曲線上の任意の点からもっとも離れる距離。矩形はすでに平坦であるため、flatness パラメータは無視される
戻り値:
この Rectangle2D の輪郭のジオメトリを一度に 1 セグメントずつ返す PathIterator オブジェクト
導入されたバージョン:
1.2

hashCode

public int hashCode()
この Rectangle2D のハッシュコードを返します。
オーバーライド:
クラス Object 内の hashCode
戻り値:
この Rectangle2D のハッシュコード

equals

public boolean equals(Object obj)
指定された Object がこの Rectangle2D と等しいかどうかを判定します。指定された Object は、Rectangle2D のインスタンスであり、位置およびサイズがこの Rectangle2D と同じ場合に、この Rectangle2D と等しいと見なされます。
オーバーライド:
クラス Object 内の equals
パラメータ:
obj - この Rectangle2D と比較する Object
戻り値:
objRectangle2D のインスタンスであり、両者が同じ値を持つ場合は true、そうでない場合は false
導入されたバージョン:
1.2

JavaTM 2 Platform
Std. Ed. v1.3

バグや機能要求の報告
さらに詳しい API リファレンスおよび開発者ドキュメントについては、 Java 2 SDK SE Developer Documentation を参照してください。このドキュメントには、概念、用語の定義、回避策、 実用的なコード例など、開発者を対象にした詳細な解説が掲載されています。

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