public abstract class RectangularShape extends Object implements Shape, Cloneable
RectangularShape
は、幾何学的図形が矩形フレームによって定義される多くの Shape
オブジェクトの基底クラスです。このクラスは、それ自体では特定のどの幾何学的図形も直接に指定せず、単に Shape
オブジェクトのカテゴリ全体によって継承される操作メソッドを提供します。このクラスが提供する操作メソッドを使用すると、サブクラスがその幾何学的図形を定義するための参照を提供する矩形フレームを問い合わせたり、変更したりできます。修飾子 | コンストラクタと説明 |
---|---|
protected |
RectangularShape()
これは、インスタンスを直接には生成できない abstract クラスです。
|
修飾子と型 | メソッドと説明 |
---|---|
Object |
clone()
このオブジェクトと同じクラスで、同じ内容の新しいオブジェクトを作成します。
|
boolean |
contains(Point2D p)
|
boolean |
contains(Rectangle2D r)
Shape の内部に、指定された Rectangle2D が完全に含まれるかどうかをテストします。 |
Rectangle |
getBounds()
Shape を完全に囲む整数の Rectangle を返します。 |
double |
getCenterX()
Shape の表示枠矩形の中心の X 座標を double 精度で返します。 |
double |
getCenterY()
Shape の表示枠矩形の中心の Y 座標を double 精度で返します。 |
Rectangle2D |
getFrame()
このオブジェクトの形状全体を定義する表示枠
Rectangle2D を返します。 |
abstract double |
getHeight()
表示枠矩形の高さを
double 精度で返します。 |
double |
getMaxX()
Shape の表示枠矩形の最大の X 座標を double 精度で返します。 |
double |
getMaxY()
Shape の表示枠矩形の最大の Y 座標を double 精度で返します。 |
double |
getMinX()
Shape の表示枠矩形の最小の X 座標を double 精度で返します。 |
double |
getMinY()
Shape の表示枠矩形の最小の Y 座標を double 精度で返します。 |
PathIterator |
getPathIterator(AffineTransform at, double flatness)
Shape オブジェクトの境界に沿って反復処理するイテレータオブジェクトを返し、Shape オブジェクトの幾何学的図形の輪郭の平坦化されたビューへのアクセスを提供します。 |
abstract double |
getWidth()
表示枠矩形の幅を
double 精度で返します。 |
abstract double |
getX()
表示枠矩形の左上隅の X 座標を
double 精度で返します。 |
abstract double |
getY()
表示枠矩形の左上隅の Y 座標を
double 精度で返します。 |
boolean |
intersects(Rectangle2D r)
Shape の内部が指定された Rectangle2D の内部と交差しているかどうかをテストします。 |
abstract boolean |
isEmpty()
RectangularShape が空であるかどうかを判定します。 |
abstract void |
setFrame(double x, double y, double w, double h)
この
Shape の表示枠矩形の位置とサイズを、指定された矩形値に設定します。 |
void |
setFrame(Point2D loc, Dimension2D size)
|
void |
setFrame(Rectangle2D r)
この
Shape の表示枠矩形を、指定された Rectangle2D に設定します。 |
void |
setFrameFromCenter(double centerX, double centerY, double cornerX, double cornerY)
この
Shape の表示枠矩形を、指定された中心点および角の点の座標に基づいて設定します。 |
void |
setFrameFromCenter(Point2D center, Point2D corner)
この
Shape の表示枠矩形を、中心を表す Point2D および角を表す Point2D に基づいて設定します。 |
void |
setFrameFromDiagonal(double x1, double y1, double x2, double y2)
この
Shape の表示枠矩形の対角線を、指定された 2 つの座標に基づいて設定します。 |
void |
setFrameFromDiagonal(Point2D p1, Point2D p2)
この
Shape の表示枠矩形の対角線を、指定された 2 つの Point2D オブジェクトに基づいて設定します。 |
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
contains, contains, getBounds2D, getPathIterator, intersects
protected RectangularShape()
Arc2D
, Ellipse2D
, Rectangle2D
, RoundRectangle2D
public abstract double getX()
double
精度で返します。public abstract double getY()
double
精度で返します。public abstract double getWidth()
double
精度で返します。public abstract double getHeight()
double
精度で返します。public double getMinX()
Shape
の表示枠矩形の最小の X 座標を double
精度で返します。Shape
の表示枠矩形の最小の X 座標。public double getMinY()
Shape
の表示枠矩形の最小の Y 座標を double
精度で返します。Shape
の表示枠矩形の最小の Y 座標。public double getMaxX()
Shape
の表示枠矩形の最大の X 座標を double
精度で返します。Shape
の表示枠矩形の最大の X 座標。public double getMaxY()
Shape
の表示枠矩形の最大の Y 座標を double
精度で返します。Shape
の表示枠矩形の最大の Y 座標。public double getCenterX()
Shape
の表示枠矩形の中心の X 座標を double
精度で返します。Shape
の表示枠矩形の中心の X 座標。public double getCenterY()
Shape
の表示枠矩形の中心の Y 座標を double
精度で返します。Shape
の表示枠矩形の中心の Y 座標。public Rectangle2D getFrame()
Rectangle2D
を返します。double
座標で指定された Rectangle2D
。setFrame(double, double, double, double)
, setFrame(Point2D, Dimension2D)
, setFrame(Rectangle2D)
public abstract boolean isEmpty()
RectangularShape
が空であるかどうかを判定します。RectangularShape
が空の場合は、領域はありません。RectangularShape
が空である場合は true
、そうでない場合は false
。public abstract void setFrame(double x, double y, double w, double h)
Shape
の表示枠矩形の位置とサイズを、指定された矩形値に設定します。x
- 指定された矩形形状の左上隅の X 座標y
- 指定された矩形形状の左上隅の Y 座標w
- 指定された矩形形状の幅h
- 指定された矩形形状の高さgetFrame()
public void setFrame(Point2D loc, Dimension2D size)
Shape
の表示枠矩形の位置とサイズを、それぞれ指定された Point2D
と Dimension2D
に設定します。表示枠矩形は、RectangularShape
のサブクラスが幾何学的図形を定義するために使用します。loc
- 指定されたPoint2D
size
- 指定されたDimension2D
getFrame()
public void setFrame(Rectangle2D r)
Shape
の表示枠矩形を、指定された Rectangle2D
に設定します。表示枠矩形は、RectangularShape
のサブクラスが幾何学的図形を定義するために使用します。r
- 指定されたRectangle2D
getFrame()
public void setFrameFromDiagonal(double x1, double y1, double x2, double y2)
Shape
の表示枠矩形の対角線を、指定された 2 つの座標に基づいて設定します。表示枠矩形は、RectangularShape
のサブクラスが幾何学的図形を定義するために使用します。x1
- 指定された対角線の始点の X 座標y1
- 指定された対角線の始点の Y 座標x2
- 指定された対角線の終点の X 座標y2
- 指定された対角線の終点の Y 座標public void setFrameFromDiagonal(Point2D p1, Point2D p2)
Shape
の表示枠矩形の対角線を、指定された 2 つの Point2D
オブジェクトに基づいて設定します。表示枠矩形は、RectangularShape
のサブクラスが幾何学的図形を定義するために使用します。p1
- 指定された対角線の始点 Point2D
p2
- 指定された対角線の終点 Point2D
public void setFrameFromCenter(double centerX, double centerY, double cornerX, double cornerY)
Shape
の表示枠矩形を、指定された中心点および角の点の座標に基づいて設定します。表示枠矩形は、RectangularShape
のサブクラスが幾何学的図形を定義するために使用します。centerX
- 指定された中心点の X 座標centerY
- 指定された中心点の Y 座標cornerX
- 指定された角の点の X 座標cornerY
- 指定された角の点の Y 座標public void setFrameFromCenter(Point2D center, Point2D corner)
Shape
の表示枠矩形を、中心を表す Point2D
および角を表す Point2D
に基づいて設定します。表示枠矩形は、RectangularShape
のサブクラスが幾何学的図形を定義するために使用します。center
- 指定された中心の Point2D
corner
- 指定された角の Point2D
public boolean contains(Point2D p)
public boolean intersects(Rectangle2D r)
Shape
の内部が指定された Rectangle2D
の内部と交差しているかどうかをテストします。Shape.intersects()
メソッドを使用すると、次のような場合に、Shape
実装は内部的に true
を返すことができます。
Rectangle2D
と Shape
が交差している可能性が高いが、
Shapes
によっては、Rectangle2D
が Shape
と交差していない場合でもこのメソッドが true
を返すことがあります。Area
クラスは、ほとんどの Shape
オブジェクトより正確な、幾何学的な共通部分の計算を実行するため、より的確な答えが必要な場合に使用できます。intersects
、インタフェース: Shape
r
- 指定された Rectangle2D
Shape
の内部と指定された Rectangle2D
の内部が交差しているか、またはどちらも交差している可能性が高いが、負荷が大きすぎて共通部分の計算を実行できない場合は true
、それ以外の場合は false
。Shape.intersects(double, double, double, double)
public boolean contains(Rectangle2D r)
Shape
の内部に、指定された Rectangle2D
が完全に含まれるかどうかをテストします。Shape.contains()
メソッドを使用すると、次のような場合に、Shape
実装は内部的に false
を返すことができます。
intersect
メソッドが true
を返し、かつ
Shape
に Rectangle2D
が完全に含まれるかどうかを判定するための計算の負荷が非常に大きい。
Shapes
によっては、Shape
に Rectangle2D
が含まれている場合でもこのメソッドが false
を返すことがあります。Area
クラスは、ほとんどの Shape
オブジェクトより正確な幾何学的計算を実行するため、より的確な答えが必要な場合に使用できます。contains
、インタフェース: Shape
r
- 指定された Rectangle2D
Shape
の内部に Rectangle2D
が完全に含まれる場合は true
、それ以外の場合、または Shape
に Rectangle2D
が含まれ、intersects
メソッドが true
を返し、さらに負荷が大きすぎて包含の計算を実行できない場合は false
。Shape.contains(double, double, double, double)
public Rectangle getBounds()
Shape
を完全に囲む整数の Rectangle
を返します。返された Rectangle
が Shape
を囲む最小のバウンディングボックスであるとは限りません。示された Rectangle
内に Shape
が完全に収まるというだけです。また、Shape
が整数型の制限範囲を超える場合、返された Rectangle
は Shape
を完全に囲むことができないこともあります。通常は、getBounds2D
メソッドの方が、表現の自由度が高いために、比較的ぴったりしたバウンディングボックスを返します。
内側の定義によって、shape
の定義する輪郭上の点が、返された bounds
オブジェクトに含まれていると見なされない状況が発生する場合があります。ただし、これは、これらの点が元の shape
にも含まれていないと見なされる場合のみです。
point
が contains(point)
メソッドに従って shape
の内側にある場合は、bounds
の contains(point)
メソッドに従って、返された Rectangle
境界オブジェクトの内側にある必要があります。具体的には、次のようになります。
shape.contains(x,y)
には次が必要: bounds.contains(x,y)
point
が shape
の内側にない場合は、引き続き bounds
オブジェクトに含まれている可能性があります。
bounds.contains(x,y)
は次を示さない: shape.contains(x,y)
getBounds
、インタフェース: Shape
Shape
を完全に囲む整数型の Rectangle
。Shape.getBounds2D()
public PathIterator getPathIterator(AffineTransform at, double flatness)
Shape
オブジェクトの境界に沿って反復処理するイテレータオブジェクトを返し、Shape
オブジェクトの幾何学的図形の輪郭の平坦化されたビューへのアクセスを提供します。
イテレータによって返されるのは、SEG_MOVETO、SEG_LINETO、および SEG_CLOSE のポイントの型だけです。
曲線セグメントの分割の量は、平坦化されない変換を受けた曲線上の点が、返される平坦化されたパスセグメントからもっとも離れる距離を指定する flatness
パラメータによって制御されます。オプションの AffineTransform
を指定することもでき、その場合は反復処理で返される座標がそれに応じて変換されます。
getPathIterator
、インタフェース: Shape
at
- 反復で返されるときに座標に適用されるオプションの AffineTransform
。変換されていない座標が必要な場合は null
。flatness
- 曲線セグメントを近似するために使用されるラインセグメントが、元の曲線上の任意の点から離れることができる最大の距離Shape
オブジェクトの平坦化された幾何学的図形へのアクセスを提供する PathIterator
オブジェクト。public Object clone()
clone
、クラス: Object
OutOfMemoryError
- 十分なメモリーがない場合。Cloneable
バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.