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, setFrameFromDiagonal
public 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
, Rectangle
public abstract void setRect(double x, double y, double w, double h)
Rectangle2D
の位置およびサイズを、指定されたdouble
型の値に設定します。x
- 次に対する左上隅のX座標: Rectangle2D
y
- 次に対する左上隅のY座標: Rectangle2D
w
- 次に対する幅: Rectangle2D
h
- 次に対する高さ: Rectangle2D
public void setRect(Rectangle2D r)
Rectangle2D
を、指定されたRectangle2D
と同じになるように設定します。r
- 指定されたRectangle2D
public 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
の内部と交差するかどうかをテストする、指定されたLine2D
Line2D
がこの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_BOTTOM
public int outcode(Point2D p)
Rectangle2D
を基準に、指定されたPoint2D
がある場所を判定します。このメソッドは、このRectangle2D
の各辺について、指定されたPoint2D
がこのRectangle2D
のほかの辺と同じサイドにあるかどうかを示す適切なマスク値の2項論理和を計算します。p
- 指定されたPoint2D
OUT_LEFT
, OUT_TOP
, OUT_RIGHT
, OUT_BOTTOM
public void setFrame(double x, double y, double w, double h)
Rectangle2D
の外部境界の位置およびサイズを、指定された矩形値に設定します。setFrame
、クラス: RectangularShape
x
- 次に対する左上隅のX座標: Rectangle2D
y
- 次に対する左上隅のY座標: Rectangle2D
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
。Area
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
。Area
、Shape.intersects(double, double, double, double)
public abstract Rectangle2D createIntersection(Rectangle2D r)
Rectangle2D
と指定されたRectangle2D
の共通部分を表す新しいRectangle2D
オブジェクトを返します。r
- このRectangle2D
と交差させるRectangle2D
Rectangle2D
とこの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
の共通部分の結果を保持するRectangle2D
public abstract Rectangle2D createUnion(Rectangle2D r)
Rectangle2D
と指定されたRectangle2D
の和集合を表す新しいRectangle2D
オブジェクトを返します。r
- このRectangle2D
と結合されるRectangle2D
Rectangle2D
とこの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
の和集合の結果を保持するRectangle2D
public 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
、または変換されていない座標が必要な場合はnull
Rectangle2D
の輪郭の幾何学的図形を一度に1セグメントずつ返すPathIterator
オブジェクト。public PathIterator getPathIterator(AffineTransform at, double flatness)
Rectangle2D
の境界を定義する反復オブジェクトを返します。矩形はすでに平坦であるため、flatness
パラメータは無視される。このクラスのイテレータは、マルチ・スレッドに対して安全です。つまりこのRectangle2D
クラスは、このRectangle2D
オブジェクトの幾何学的図形に対する変更が、幾何学的図形についてすでに進行中の反復処理に影響を与えないことを保証します。getPathIterator
、インタフェース: Shape
getPathIterator
、クラス: RectangularShape
at
- 反復処理で返されるときに座標に適用されるオプションのAffineTransform
、または変換されていない座標が必要な場合はnull
flatness
- 曲線セグメントを近似するために使用されるライン・セグメントが、元の曲線上の任意の点から離れることができる最大の距離。矩形はすでに平坦であるため、flatness
パラメータは無視される。Rectangle2D
の輪郭の幾何学的図形を一度に1セグメントずつ返すPathIterator
オブジェクト。public int hashCode()
Rectangle2D
のハッシュ・コードを返します。hashCode
、クラス: Object
Rectangle2D
のハッシュ・コード。Object.equals(java.lang.Object)
, System.identityHashCode(java.lang.Object)
public boolean equals(Object obj)
Object
がこのRectangle2D
と等しいかどうかを判定します。指定されたObject
は、Rectangle2D
のインスタンスであり、位置およびサイズがこのRectangle2D
と同じ場合に、このRectangle2D
と等しいと見なされます。equals
、クラス: Object
obj
- このRectangle2D
と比較されるObject
。obj
がRectangle2D
のインスタンスであり、同じ値を持つ場合はtrue
、そうでない場合はfalse
。Object.hashCode()
、HashMap
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2016, Oracle and/or its affiliates. All rights reserved.Use is subject to license termsDocumentation Redistribution Policyも参照してください。