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, waitcontains, contains, getBounds2D, getPathIterator, intersectsprotected RectangularShape()
Arc2D, Ellipse2D, Rectangle2D, RoundRectangle2Dpublic 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 - 指定されたPoint2Dsize - 指定されたDimension2DgetFrame()public void setFrame(Rectangle2D r)
Shape の表示枠矩形を、指定された Rectangle2D に設定します。表示枠矩形は、RectangularShape のサブクラスが幾何学的図形を定義するために使用します。r - 指定されたRectangle2DgetFrame()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 - 指定された対角線の始点 Point2Dp2 - 指定された対角線の終点 Point2Dpublic 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 - 指定された中心の Point2Dcorner - 指定された角の Point2Dpublic boolean contains(Point2D p)
public boolean intersects(Rectangle2D r)
Shape の内部が指定された Rectangle2D の内部と交差しているかどうかをテストします。Shape.intersects() メソッドを使用すると、次のような場合に、Shape 実装は内部的に true を返すことができます。
Rectangle2D と Shape が交差している可能性が高いが、
Shapes によっては、Rectangle2D が Shape と交差していない場合でもこのメソッドが true を返すことがあります。Area クラスは、ほとんどの Shape オブジェクトより正確な、幾何学的な共通部分の計算を実行するため、より的確な答えが必要な場合に使用できます。intersects、インタフェース: Shaper - 指定された Rectangle2DShape の内部と指定された 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、インタフェース: Shaper - 指定された Rectangle2DShape の内部に 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、インタフェース: ShapeShape を完全に囲む整数型の Rectangle。Shape.getBounds2D()public PathIterator getPathIterator(AffineTransform at, double flatness)
Shape オブジェクトの境界に沿って反復処理するイテレータオブジェクトを返し、Shape オブジェクトの幾何学的図形の輪郭の平坦化されたビューへのアクセスを提供します。
イテレータによって返されるのは、SEG_MOVETO、SEG_LINETO、および SEG_CLOSE のポイントの型だけです。
曲線セグメントの分割の量は、平坦化されない変換を受けた曲線上の点が、返される平坦化されたパスセグメントからもっとも離れる距離を指定する flatness パラメータによって制御されます。オプションの AffineTransform を指定することもでき、その場合は反復処理で返される座標がそれに応じて変換されます。
getPathIterator、インタフェース: Shapeat - 反復で返されるときに座標に適用されるオプションの AffineTransform。変換されていない座標が必要な場合は null。flatness - 曲線セグメントを近似するために使用されるラインセグメントが、元の曲線上の任意の点から離れることができる最大の距離Shape オブジェクトの平坦化された幾何学的図形へのアクセスを提供する PathIterator オブジェクト。public Object clone()
clone、クラス: ObjectOutOfMemoryError - 十分なメモリーがない場合。Cloneable バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.