- java.lang.Object
-
- java.awt.geom.RectangularShape
-
- java.awt.geom.Rectangle2D
-
- 直系の既知のサブクラス:
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()
これは、インスタンスを直接には生成できない抽象クラスです。
-
メソッドのサマリー
すべてのメソッド staticメソッド インスタンス・メソッド 抽象メソッド 具象メソッド 修飾子と型 メソッド 説明 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
オブジェクトに格納します。-
クラス 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
- 関連項目:
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
の外部境界の位置およびサイズを、指定された矩形値に設定します。- 定義:
setFrame
、クラスRectangularShape
- パラメータ:
x
- このRectangle2D
の左上隅のX座標y
- このRectangle2D
の左上隅のY座標w
- このRectangle2D
の幅h
-Rectangle2D
に対する高さ- 導入されたバージョン:
- 1.2
- 関連項目:
RectangularShape.getFrame()
-
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
- 関連項目:
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
が交差している可能性が高いが、 - この共通部分を正確に判断する計算の負荷がかなり大きい。
Shapes
によっては、矩形領域が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
を返すことができます。-
intersect
メソッドがtrue
を返し、かつ -
Shape
に矩形領域が完全に含まれるかどうかを判定するための計算の負荷が非常に大きい。
Shapes
によっては、Shape
に矩形領域が含まれている場合でもこのメソッドがfalse
を返すことがあります。Area
クラスは、ほとんどのShape
オブジェクトより正確な幾何学的計算を実行するため、より的確な答えが必要な場合に使用できます。- パラメータ:
x
- 指定された矩形領域の左上隅のX座標y
- 指定された矩形領域の左上隅のY座標w
- 指定された矩形領域の幅h
- 指定された矩形領域の高さ- 戻り値:
Shape
の内部に、指定された矩形領域が完全に含まれる場合はtrue
、それ以外の場合、またはShape
に矩形領域が含まれ、intersects
メソッドがtrue
を返し、さらに負荷が大きすぎて包含の計算を実行できない場合はfalse
。- 導入されたバージョン:
- 1.2
- 関連項目:
Area
、Shape.intersects(double, double, double, double)
-
-
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
、または変換されていない座標が必要な場合はnull
flatness
- 曲線セグメントを近似するために使用されるライン・セグメントが、元の曲線上の任意の点から離れることができる最大の距離。 矩形はすでに平坦であるため、flatness
パラメータは無視される。- 戻り値:
- この
Rectangle2D
の輪郭の幾何学的図形を一度に1セグメントずつ返すPathIterator
オブジェクト。 - 導入されたバージョン:
- 1.2
-
hashCode
public int hashCode()
このRectangle2D
のハッシュ・コードを返します。- オーバーライド:
hashCode
、クラスObject
- 戻り値:
- この
Rectangle2D
のハッシュ・コード。 - 導入されたバージョン:
- 1.2
- 関連項目:
Object.equals(java.lang.Object)
,System.identityHashCode(java.lang.Object)
-
equals
public boolean equals(Object obj)
指定されたObject
がこのRectangle2D
と等しいかどうかを判定します。 指定されたObject
は、Rectangle2D
のインスタンスであり、位置およびサイズがこのRectangle2D
と同じ場合に、このRectangle2D
と等しいと見なされます。- オーバーライド:
equals
、クラスObject
- パラメータ:
obj
- このRectangle2D
と比較されるObject
。- 戻り値:
obj
がRectangle2D
のインスタンスであり、同じ値を持つ場合はtrue
、そうでない場合はfalse
。- 導入されたバージョン:
- 1.2
- 関連項目:
Object.hashCode()
、HashMap
-
-