JavaTM Platform
Standard Ed. 6

java.awt.geom
クラス Rectangle2D

java.lang.Object
  上位を拡張 java.awt.geom.RectangularShape
      上位を拡張 java.awt.geom.Rectangle2D
すべての実装されたインタフェース:
Shape, Cloneable
直系の既知のサブクラス:
Rectangle, Rectangle2D.Double, Rectangle2D.Float

public abstract class Rectangle2D
extends RectangularShape

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

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

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

入れ子のクラスの概要
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()
          これは、インスタンスを直接には生成できない abstract クラスです。
 
メソッドの概要
 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)
          指定された座標が Shape の境界内にあるかどうかを判定します。
 boolean contains(double x, double y, double w, double h)
          Shape の内部領域が、指定された矩形領域を完全に包含するかどうかを判定します。
abstract  Rectangle2D createIntersection(Rectangle2D r)
          この Rectangle2D と指定された Rectangle2D の共通部分を表す新しい Rectangle2D オブジェクトを返します。
abstract  Rectangle2D createUnion(Rectangle2D r)
          この Rectangle2D と指定された Rectangle2D の和集合を表す新しい Rectangle2D オブジェクトを返します。
 boolean equals(Object obj)
          指定された Object がこの Rectangle2D と等しいかどうかを判定します。
 Rectangle2D getBounds2D()
          高精度で getBounds メソッドより精密な、Shape のバウンディングボックスを返します。
 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)
          Shape の内部領域が、指定された矩形領域の内部領域と交差するかどうかを判定します。
 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()
これは、インスタンスを直接には生成できない abstract クラスです。インスタンス生成のためには型固有の実装サブクラスが用意されており、これらのサブクラスにより、下記の各種アクセス用メソッドに必要な情報を格納するための形式が多数提供されます。

導入されたバージョン:
1.2
関連項目:
Rectangle2D.Float, Rectangle2D.Double, Rectangle
メソッドの詳細

setRect

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

パラメータ:
x - この Rectangle2D の 左上隅の X 座標
y - この Rectangle2D の 左上隅の Y 座標
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 - 指定されたラインセグメントの始点の X 座標
y1 - 指定されたラインセグメントの始点の Y 座標
x2 - 指定されたラインセグメントの終点の X 座標
y2 - 指定されたラインセグメントの終点の Y 座標
戻り値:
指定されたラインセグメントがこの 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 - 指定された X 座標
y - 指定された 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 - この Rectangle2D の 左上隅の X 座標
y - この Rectangle2D の 左上隅の Y 座標
w - この Rectangle2D の幅
h - この Rectangle2D の高さ
導入されたバージョン:
1.2
関連項目:
RectangularShape.getFrame()

getBounds2D

public Rectangle2D getBounds2D()
高精度で getBounds メソッドより精密な、Shape のバウンディングボックスを返します。返された Rectangle2DShape を囲む最小のバウンディングボックスであるとは限りません。 示された Rectangle2D 内に Shape が完全に収まるというだけです。戻り値を、倍精度値を使用して寸法を格納する Rectangle2D のインスタンスにすることもできるため、このメソッドによって返されるバウンディングボックスは、通常、getBounds メソッドによって返されるバウンディングボックスよりもぴったりしたものになり、オーバーフローのために失敗することはありません。

戻り値:
Shape の高精度バウンディングボックスを表す Rectangle2D のインスタンス
導入されたバージョン:
1.2
関連項目:
Shape.getBounds()

contains

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

パラメータ:
x - 判定対象の指定された X 座標
y - 判定対象の指定された Y 座標
戻り値:
指定された座標が Shape の 境界内にある場合は true、そうでない場合は false
導入されたバージョン:
1.2

intersects

public boolean intersects(double x,
                          double y,
                          double w,
                          double h)
Shape の内部領域が、指定された矩形領域の内部領域と交差するかどうかを判定します。Shape の内部領域と指定された矩形領域の両方に含まれる点がある場合、矩形領域は Shape と交差していると見なされます。  

Shape.intersects() メソッドを使用すると、次のような場合に Shape 実装は true を返すことがあります。

つまり、Shape によっては、矩形領域が Shape と交差しない場合でもこのメソッドが true を返すことがあります。Area クラスは、ほとんどの Shape オブジェクトの幾何学的な共通部分のより精密な計算を行うため、より正確な結果が必要な場合に使用できます。

パラメータ:
x - 指定された矩形領域の 左上隅の X 座標
y - 指定された矩形領域の 左上隅の Y 座標
w - 指定された矩形領域の幅
h - 指定された矩形領域の高さ
戻り値:
Shape の内部領域と矩形領域の内部領域が交差する場合、 または交差する可能性が高いが、負荷が大き過ぎて 共通部分の計算を行えない場合も true、 そうでない場合は false
導入されたバージョン:
1.2
関連項目:
Area

contains

public boolean contains(double x,
                        double y,
                        double w,
                        double h)
Shape の内部領域が、指定された矩形領域を完全に包含するかどうかを判定します。矩形領域全体が Shape に包含されていると見なされるためには、矩形領域内にあるすべての座標が Shape 内に位置している必要があります。  

Shape.contains() メソッドを使用すると、次のような場合に Shape 実装は false を返すことがあります。

つまり、Shape によっては、Shape が矩形領域を包含する場合でもこのメソッドが false を返すことがあります。Area クラスは、ほとんどの Shape オブジェクトのより精密な幾何学的計算を行うため、より正確な結果が必要な場合に使用できます。

パラメータ:
x - 指定された矩形領域の 左上隅の X 座標
y - 指定された矩形領域の 左上隅の Y 座標
w - 指定された矩形領域の幅
h - 指定された矩形領域の高さ
戻り値:
Shape の内部領域が、指定された矩形領域を 完全に包含する場合は true、 そうでない場合は false。 また、Shape が矩形領域を包含し、 intersects メソッドが true を返し、 負荷が大き過ぎて包含の計算が行えない場合も false
導入されたバージョン:
1.2
関連項目:
Area, Shape.intersects(double, double, double, double)

createIntersection

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

パラメータ:
r - この Rectangle と重なり合う 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 - この Rectangle と結合される 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 を返します。

パラメータ:
newx - 新しい点の X 座標
newy - 新しい点の Y 座標
導入されたバージョン:
1.2

add

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

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

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

add

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

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

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 のハッシュコード
導入されたバージョン:
1.2
関連項目:
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 Platform
Standard Ed. 6

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

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。