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) | 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 - このRectangle2Dの左上隅のX座標y - このRectangle2Dの左上隅のY座標w - このRectangle2Dの幅h - Rectangle2Dに対する高さpublic 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 - このRectangle2Dの左上隅のX座標y - このRectangle2Dの左上隅のY座標w - このRectangle2Dの幅h - Rectangle2Dに対する高さRectangularShape.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, 2025, Oracle and/or its affiliates.  All rights reserved.  Use is subject to license terms.  Documentation Redistribution Policyも参照してください。