public abstract class RectangularShape extends Object implements Shape, Cloneable
RectangularShape
は、幾何学的図形が矩形フレームによって定義される多くのShape
オブジェクトの基底クラスです。このクラスは、それ自体では特定のどの幾何学的図形も直接に指定せず、単にShape
オブジェクトのカテゴリ全体によって継承される操作メソッドを提供します。このクラスが提供する操作メソッドを使用すると、サブクラスがその幾何学的図形を定義するための参照を提供する矩形フレームを問い合わせたり、変更したりできます。修飾子 | コンストラクタと説明 |
---|---|
protected |
RectangularShape()
これは、インスタンスを直接には生成できない抽象クラスです。
|
修飾子と型 | メソッドと説明 |
---|---|
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, 2016, Oracle and/or its affiliates. All rights reserved.Use is subject to license termsDocumentation Redistribution Policyも参照してください。