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()
これは、インスタンスを直接には生成できない abstract クラスです。
|
| 修飾子と型 | メソッドと説明 |
|---|---|
void |
add(double newx, double newy)
倍精度の
newx 引数および newy 引数で指定された点をこの Rectangle2D に追加します。 |
void |
add(Point2D pt)
Point2D オブジェクト pt をこの Rectangle2D に追加します。 |
void |
add(Rectangle2D r)
Rectangle2D オブジェクトをこの Rectangle2D に追加します。 |
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 オブジェクトに格納します。 |
clone, contains, contains, getBounds, getCenterX, getCenterY, getFrame, getHeight, getMaxX, getMaxY, getMinX, getMinY, getWidth, getX, getY, intersects, isEmpty, setFrame, setFrame, setFrameFromCenter, setFrameFromCenter, setFrameFromDiagonal, setFrameFromDiagonalpublic static final int OUT_LEFT
Rectangle2D の左にあることを示すビットマスクです。public static final int OUT_TOP
Rectangle2D の上にあることを示すビットマスクです。public static final int OUT_RIGHT
Rectangle2D の右にあることを示すビットマスクです。public static final int OUT_BOTTOM
Rectangle2D の下にあることを示すビットマスクです。protected Rectangle2D()
Rectangle2D.Float, Rectangle2D.Double, Rectanglepublic abstract void setRect(double x,
double y,
double w,
double h)
Rectangle2D の位置およびサイズを、指定された double 型の値に設定します。x - 次に対する左上隅の X 座標: Rectangle2Dy - 次に対する左上隅の Y 座標: Rectangle2Dw - 次に対する幅: Rectangle2Dh - 次に対する高さ: Rectangle2Dpublic void setRect(Rectangle2D r)
Rectangle2D を、指定された Rectangle2D と同じになるように設定します。r - 指定されたRectangle2Dpublic boolean intersectsLine(double x1,
double y1,
double x2,
double y2)
Rectangle2D の内部と交差するかどうかを判定します。x1 - 指定されたラインセグメントの始点の X 座標y1 - 指定されたラインセグメントの始点の Y 座標x2 - 指定されたラインセグメントの終点の X 座標y2 - 指定されたラインセグメントの終点の Y 座標Rectangle2D の内部と交差する場合は true。それ以外の場合は false。public boolean intersectsLine(Line2D l)
Rectangle2D の内部と交差するかどうかを判定します。l - この Rectangle2D の内部と交差するかどうかをテストする、指定された Line2DLine2D がこの Rectangle2D の内部と交差する場合は true。それ以外の場合は false。public abstract int outcode(double x,
double y)
Rectangle2D を基準に、指定された座標がある場所を判定します。このメソッドは、この Rectangle2D の各辺について、指定された座標がこの Rectangle2D のほかの辺と同じサイドにあるかどうかを示す適切なマスク値の 2 項論理和を計算します。x - 指定された X 座標y - 指定された Y 座標OUT_LEFT, OUT_TOP, OUT_RIGHT, OUT_BOTTOMpublic int outcode(Point2D p)
Rectangle2D を基準に、指定された Point2D がある場所を判定します。このメソッドは、この Rectangle2D の各辺について、指定された Point2D がこの Rectangle2D のほかの辺と同じサイドにあるかどうかを示す適切なマスク値の 2 項論理和を計算します。p - 指定された Point2DOUT_LEFT, OUT_TOP, OUT_RIGHT, OUT_BOTTOMpublic void setFrame(double x,
double y,
double w,
double h)
Rectangle2D の外部境界の位置およびサイズを、指定された矩形値に設定します。setFrame、クラス: RectangularShapex - 次に対する左上隅の X 座標: Rectangle2Dy - 次に対する左上隅の Y 座標: Rectangle2Dw - 次に対する幅: Rectangle2Dh - 次に対する高さ: Rectangle2DRectangularShape.getFrame()public Rectangle2D getBounds2D()
getBounds メソッドより正確な Shape のバウンディングボックスを返します。返された Rectangle2D が、Shape を囲む最小のバウンディングボックスであるという保証はありません。Shape が、示された Rectangle2D 内に完全に含まれるだけです。戻り値を、倍精度値を使用して寸法を格納する Rectangle2D のインスタンスにすることができるため、このメソッドによって返されたバウンディングボックスは通常、getBounds メソッドによって返されたものより厳密であり、オーバーフローの問題のために失敗することはありません。
内側の定義によって、shape の定義する輪郭上の点が、返された bounds オブジェクトに含まれていると見なされない状況が発生する場合があります。ただし、これは、これらの点が元の shape にも含まれていないと見なされる場合のみです。
point が contains(point) メソッドに従って shape の内側にある場合は、bounds の contains(point) メソッドに従って、返された Rectangle2D 境界オブジェクトの内側にある必要があります。具体的には、次のようになります。
shape.contains(p) には次が必要: bounds.contains(p)
point が shape の内側にない場合は、引き続き bounds オブジェクトに含まれている可能性があります。
bounds.contains(p) は次を示さない: shape.contains(p)
Shape の高精度のバウンディングボックスである Rectangle2D のインスタンス。Shape.getBounds()public boolean contains(double x,
double y)
Shape の境界の内側にあるかどうかをテストします。x - テストされる指定された X 座標y - テストされる指定された Y 座標Shape 境界の内側にある場合は true、それ以外の場合は false。public boolean intersects(double x,
double y,
double w,
double h)
Shape の内部が指定された矩形領域の内部と交差しているかどうかをテストします。Shape の内部と指定された矩形領域の両方に含まれている点が存在する場合、その矩形領域は Shape と交差していると見なされます。
Shape.intersects() メソッドを使用すると、次のような場合に、Shape 実装は内部的に true を返すことができます。
Shape が交差している可能性が高いが、
Shapes によっては、矩形領域が Shape と交差していない場合でもこのメソッドが true を返すことがあります。Area クラスは、ほとんどの Shape オブジェクトより正確な、幾何学的な共通部分の計算を実行するため、より的確な答えが必要な場合に使用できます。x - 指定された矩形領域の左上隅の X 座標y - 指定された矩形領域の左上隅の Y 座標w - 指定された矩形領域の幅h - 指定された矩形領域の高さShape の内部と矩形領域の内部が交差しているか、またはどちらも交差している可能性が高いが、負荷が大きすぎて共通部分の計算を実行できない場合は true、それ以外の場合は false。Areapublic boolean contains(double x,
double y,
double w,
double h)
Shape の内部に、指定された矩形領域が完全に含まれるかどうかをテストします。矩形領域全体が Shape 内に含まれていると見なされるには、矩形領域の内側にあるすべての座標が Shape 内にある必要があります。
Shape.contains() メソッドを使用すると、次のような場合に、Shape 実装は内部的に false を返すことができます。
intersect メソッドが true を返し、かつ
Shape に矩形領域が完全に含まれるかどうかを判定するための計算の負荷が非常に大きい。
Shapes によっては、Shape に矩形領域が含まれている場合でもこのメソッドが false を返すことがあります。Area クラスは、ほとんどの Shape オブジェクトより正確な幾何学的計算を実行するため、より的確な答えが必要な場合に使用できます。x - 指定された矩形領域の左上隅の X 座標y - 指定された矩形領域の左上隅の Y 座標w - 指定された矩形領域の幅h - 指定された矩形領域の高さShape の内部に、指定された矩形領域が完全に含まれる場合は true、それ以外の場合、または Shape に矩形領域が含まれ、intersects メソッドが true を返し、さらに負荷が大きすぎて包含の計算を実行できない場合は false。Area、Shape.intersects(double, double, double, double)public abstract Rectangle2D createIntersection(Rectangle2D r)
Rectangle2D と指定された Rectangle2D の共通部分を表す新しい Rectangle2D オブジェクトを返します。r - この Rectangle2D と交差させる Rectangle2DRectangle2D とこの Rectangle2D の両方に含まれる最大の Rectangle2D。public static void intersect(Rectangle2D src1, Rectangle2D src2, Rectangle2D dest)
Rectangle2D オブジェクトのペアの共通部分をとり、その結果を指定された転送先 Rectangle2D オブジェクトに格納します。元の矩形の 1 つを転送先にして、3 番目の Rectangle2D オブジェクトを作成しないようにすることもできますが、その場合、元の矩形の元の点はこのメソッドで上書きされます。src1 - 互いに交差させる Rectangle2D オブジェクトの最初のペアsrc2 - 互いに交差させる Rectangle2D オブジェクトの 2 番目のペアdest - src1 と src2 の共通部分の結果を保持する Rectangle2Dpublic abstract Rectangle2D createUnion(Rectangle2D r)
Rectangle2D と指定された Rectangle2D の和集合を表す新しい Rectangle2D オブジェクトを返します。r - この Rectangle2D と結合される Rectangle2DRectangle2D とこの Rectangle2D の両方を含む最小の Rectangle2D。public static void union(Rectangle2D src1, Rectangle2D src2, Rectangle2D dest)
Rectangle2D オブジェクトのペアを結合し、その結果を指定された転送先 Rectangle2D オブジェクトに格納します。元の矩形の 1 つを転送先にして、3 番目の Rectangle2D オブジェクトを作成しないようにすることもできますが、その場合、元の矩形の元の点はこのメソッドで上書きされます。src1 - 互いに結合させる Rectangle2D オブジェクトの最初のペアsrc2 - 互いに結合させる Rectangle2D オブジェクトの 2 番目のペアdest - src1 と src2 の和集合の結果を保持する Rectangle2Dpublic void add(double newx,
double newy)
newx 引数および newy 引数で指定された点をこの Rectangle2D に追加します。結果として得られる Rectangle2D は、元の Rectangle2D と指定された点の両方を含む最小の Rectangle2D です。
点を追加したあと、追加された点を引数とする contains の呼び出しは、必ずしも true を返しません。contains メソッドは、矩形の右端または下端にある点については true を返しません。そのため、追加された点が拡大された矩形の左端または下端にある場合、contains はその点について false を返します。
newx - 新しい点の X 座標newy - 新しい点の Y 座標public void add(Point2D pt)
Point2D オブジェクト pt をこの Rectangle2D に追加します。結果として得られる Rectangle2D は、元の Rectangle2D と指定された Point2D の両方を含む最小の Rectangle2D です。
点を追加したあと、追加された点を引数とする contains の呼び出しは、必ずしも true を返しません。contains メソッドは、矩形の右端または下端にある点については true を返しません。そのため、追加された点が拡大された矩形の左端または下端にある場合、contains はその点について false を返します。
pt - この Rectangle2D に追加する新しい Point2D。public void add(Rectangle2D r)
Rectangle2D オブジェクトをこの Rectangle2D に追加します。結果として得られる Rectangle2D は、2 つの Rectangle2D オブジェクトの和集合です。r - この Rectangle2D に追加する Rectangle2D。public PathIterator getPathIterator(AffineTransform at)
Rectangle2D の境界を定義する反復オブジェクトを返します。このクラスのイテレータは、マルチスレッドに対して安全です。つまりこの Rectangle2D クラスは、この Rectangle2D オブジェクトの幾何学的図形に対する変更が、幾何学的図形についてすでに進行中の反復処理に影響を与えないことを保証します。at - 反復処理で返されるときに座標に適用されるオプションの AffineTransform、または変換されていない座標が必要な場合は nullRectangle2D の輪郭の幾何学的図形を一度に 1 セグメントずつ返す PathIterator オブジェクト。public PathIterator getPathIterator(AffineTransform at, double flatness)
Rectangle2D の境界を定義する反復オブジェクトを返します。矩形はすでに平坦であるため、flatness パラメータは無視される。このクラスのイテレータは、マルチスレッドに対して安全です。つまりこの Rectangle2D クラスは、この Rectangle2D オブジェクトの幾何学的図形に対する変更が、幾何学的図形についてすでに進行中の反復処理に影響を与えないことを保証します。getPathIterator、インタフェース: ShapegetPathIterator、クラス: RectangularShapeat - 反復処理で返されるときに座標に適用されるオプションの AffineTransform、または変換されていない座標が必要な場合は nullflatness - 曲線セグメントを近似するために使用されるラインセグメントが、元の曲線上の任意の点から離れることができる最大の距離。矩形はすでに平坦であるため、flatness パラメータは無視される。Rectangle2D の輪郭の幾何学的図形を一度に 1 セグメントずつ返す PathIterator オブジェクト。public int hashCode()
Rectangle2D のハッシュコードを返します。hashCode、クラス: ObjectRectangle2D のハッシュコード。Object.equals(java.lang.Object), System.identityHashCode(java.lang.Object)public boolean equals(Object obj)
Object がこの Rectangle2D と等しいかどうかを判定します。指定された Object は、Rectangle2D のインスタンスであり、位置およびサイズがこの Rectangle2D と同じ場合に、この Rectangle2D と等しいと見なされます。equals、クラス: Objectobj - この Rectangle2D と比較される Object。obj が Rectangle2D のインスタンスであり、同じ値を持つ場合は true、そうでない場合は false。Object.hashCode()、HashMap バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.