クラスRectangle2D
- 直系の既知のサブクラス:
Rectangle,Rectangle2D.Double,Rectangle2D.Float
Rectangle2Dクラスは、位置(x,y)およびサイズ(w x h)で定義される矩形を記述します。
このクラスは、2D矩形を格納するすべてのオブジェクトの抽象スーパー・クラスにすぎません。 座標の実際の記憶域表現はサブクラスに委ねられます。
- 導入されたバージョン:
- 1.2
-
ネストされたクラスのサマリー
ネストされたクラス修飾子と型クラス説明static classDoubleクラスは、double座標で指定される矩形を定義します。static classFloatクラスは、float座標で指定される矩形を定義します。 -
フィールドのサマリー
フィールド修飾子と型フィールド説明static final int点がこのRectangle2Dの下にあることを示すビット・マスクです。static final int点がこのRectangle2Dの左にあることを示すビット・マスクです。static final int点がこのRectangle2Dの右にあることを示すビット・マスクです。static final int点がこのRectangle2Dの上にあることを示すビット・マスクです。 -
コンストラクタのサマリー
コンストラクタ -
メソッドのサマリー
修飾子と型メソッド説明voidadd(double newx, double newy) 倍精度のnewx引数およびnewy引数で指定された点をこのRectangle2Dに追加します。voidPoint2DオブジェクトptをこのRectangle2Dに追加します。voidadd(Rectangle2D r) Rectangle2DオブジェクトをこのRectangle2Dに追加します。booleancontains(double x, double y) 「内部性の定義」で説明されているように、指定された座標がShapeの境界内にあるかどうかをテストします。booleancontains(double x, double y, double w, double h) Shapeの内部に、指定された矩形領域が完全に含まれるかどうかをテストします。abstract Rectangle2DこのRectangle2Dと指定されたRectangle2Dの共通部分を表す新しいRectangle2Dオブジェクトを返します。abstract Rectangle2DこのRectangle2Dと指定されたRectangle2Dの和集合を表す新しいRectangle2Dオブジェクトを返します。boolean指定されたObjectがこのRectangle2Dと等しいかどうかを判定します。高精度で、かつgetBoundsメソッドより正確なShapeのバウンディング・ボックスを返します。このRectangle2Dの境界を定義する反復オブジェクトを返します。getPathIterator(AffineTransform at, double flatness) 平坦化されたRectangle2Dの境界を定義する反復オブジェクトを返します。inthashCode()このRectangle2Dのハッシュ・コードを返します。static voidintersect(Rectangle2D src1, Rectangle2D src2, Rectangle2D dest) 指定された元のRectangle2Dオブジェクトのペアの共通部分をとり、その結果を指定された転送先Rectangle2Dオブジェクトに格納します。booleanintersects(double x, double y, double w, double h) Shapeの内部が指定された矩形領域の内部と交差しているかどうかをテストします。booleanintersectsLine(double x1, double y1, double x2, double y2) 指定されたライン・セグメントが、このRectangle2Dの内部と交差するかどうかを判定します。boolean指定されたライン・セグメントが、このRectangle2Dの内部と交差するかどうかを判定します。abstract intoutcode(double x, double y) このRectangle2Dを基準に、指定された座標がある場所を判定します。intこのRectangle2Dを基準に、指定されたPoint2Dがある場所を判定します。voidsetFrame(double x, double y, double w, double h) このRectangle2Dの外部境界の位置およびサイズを、指定された矩形値に設定します。abstract voidsetRect(double x, double y, double w, double h) このRectangle2Dの位置およびサイズを、指定されたdouble型の値に設定します。voidこのRectangle2Dを、指定されたRectangle2Dと同じになるように設定します。static voidunion(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
-
フィールド詳細
-
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()これは、インスタンスを直接には生成できない抽象クラスです。 インスタンス生成のためには型固有の実装サブクラスが用意されており、これらのサブクラスにより、下記の各種アクセス用メソッドに必要な情報を格納するための形式が多数提供されます。- 導入されたバージョン:
- 1.2
- 関連項目:
-
-
メソッドの詳細
-
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
-
outcode
public abstract int outcode(double x, double y) このRectangle2Dを基準に、指定された座標がある場所を判定します。 このメソッドは、このRectangle2Dの各辺について、指定された座標がこのRectangle2Dのほかの辺と同じサイドにあるかどうかを示す適切なマスク値の2項論理和を計算します。- パラメータ:
x- 指定されたX座標y- 指定されたY座標- 戻り値:
- すべての適切なOUTコードの論理和。
- 導入されたバージョン:
- 1.2
- 関連項目:
-
outcode
-
setFrame
public void setFrame(double x, double y, double w, double h) このRectangle2Dの外部境界の位置およびサイズを、指定された矩形値に設定します。- 定義:
setFrame、クラスRectangularShape- パラメータ:
x- このRectangle2Dの左上隅のX座標y- このRectangle2Dの左上隅のY座標w- このRectangle2Dの幅h-Rectangle2Dに対する高さ- 導入されたバージョン:
- 1.2
- 関連項目:
-
getBounds2D
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のインスタンス。- 導入されたバージョン:
- 1.2
- 関連項目:
-
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が交差している可能性が高いが、 - この共通部分を正確に判断する計算の負荷がかなり大きい。
Shapesによっては、矩形領域がShapeと交差していない場合でもこのメソッドがtrueを返すことがあります。Areaクラスは、ほとんどのShapeオブジェクトより正確な、幾何学的な共通部分の計算を実行するため、より的確な答えが必要な場合に使用できます。- パラメータ:
x- 指定された矩形領域の左上隅のX座標y- 指定された矩形領域の左上隅のY座標w- 指定された矩形領域の幅h- 指定された矩形領域の高さ- 戻り値:
Shapeの内部と矩形領域の内部が交差しているか、またはどちらも交差している可能性が高いが、負荷が大きすぎて共通部分の計算を実行できない場合はtrue、それ以外の場合はfalse。- 導入されたバージョン:
- 1.2
- 関連項目:
-
矩形領域と
-
contains
public 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。- 導入されたバージョン:
- 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オブジェクトに格納します。 元の矩形の1つを転送先にして、3番目のRectangle2Dオブジェクトを作成しないようにすることもできますが、その場合、元の矩形の元の点はこのメソッドで上書きされます。- パラメータ:
src1- 互いに交差させるRectangle2Dオブジェクトの最初のペアsrc2- 互いに交差させるRectangle2Dオブジェクトの2番目のペアdest-src1とsrc2の共通部分の結果を保持する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- 互いに結合させるRectangle2Dオブジェクトの2番目のペアdest-src1とsrc2の和集合の結果を保持する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) Point2DオブジェクトptをこのRectangle2Dに追加します。 結果として得られるRectangle2Dは、元のRectangle2Dと指定されたPoint2Dの両方を含む最小のRectangle2Dです。点を追加したあと、追加された点を引数とする
containsの呼出しは、必ずしもtrueを返しません。containsメソッドは、矩形の右端または下端にある点についてはtrueを返しません。 したがって、追加されたポイントが拡大した矩形の右端または下端にある場合、containsはそのポイントのfalseを返します。- パラメータ:
pt- このRectangle2Dに追加する新しいPoint2D。- 導入されたバージョン:
- 1.2
-
add
public void add(Rectangle2D r) Rectangle2DオブジェクトをこのRectangle2Dに追加します。 結果として得られる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オブジェクトの幾何学的図形に対する変更が、幾何学的図形についてすでに進行中の反復処理に影響を与えないことを保証します。- 定義:
getPathIterator、インタフェースShape- オーバーライド:
getPathIterator、クラスRectangularShape- パラメータ:
at- 反復処理で返されるときに座標に適用されるオプションのAffineTransform、または変換されていない座標が必要な場合はnullflatness- 曲線セグメントを近似するために使用されるライン・セグメントが、元の曲線上の任意の点から離れることができる最大の距離。 矩形はすでに平坦であるため、flatnessパラメータは無視される。- 戻り値:
- この
Rectangle2Dの輪郭の幾何学的図形を一度に1セグメントずつ返すPathIteratorオブジェクト。 - 導入されたバージョン:
- 1.2
-
hashCode
-
equals
public boolean equals(Object obj) 指定されたObjectがこのRectangle2Dと等しいかどうかを判定します。 指定されたObjectは、Rectangle2Dのインスタンスであり、位置およびサイズがこのRectangle2Dと同じ場合に、このRectangle2Dと等しいと見なされます。
-