モジュール java.desktop
パッケージ java.awt.geom

クラスRectangularShape

  • すべての実装されたインタフェース:
    Shape, Cloneable
    直系の既知のサブクラス:
    Arc2D, Ellipse2D, Rectangle2D, RoundRectangle2D

    public abstract class RectangularShape
    extends Object
    implements Shape, Cloneable
    RectangularShapeは、幾何学的図形が矩形フレームによって定義される多くのShapeオブジェクトの基底クラスです。 このクラスは、それ自体では特定のどの幾何学的図形も直接に指定せず、単にShapeオブジェクトのカテゴリ全体によって継承される操作メソッドを提供します。 このクラスが提供する操作メソッドを使用すると、サブクラスがその幾何学的図形を定義するための参照を提供する矩形フレームを問い合わせたり、変更したりできます。
    導入されたバージョン:
    1.2
    • コンストラクタのサマリー

      コンストラクタ 
      修飾子 コンストラクタ 説明
      protected RectangularShape()
      これは、インスタンスを直接には生成できない抽象クラスです。
    • メソッドのサマリー

      すべてのメソッド インスタンス・メソッド 抽象メソッド 具象メソッド 
      修飾子と型 メソッド 説明
      Object clone()
      このオブジェクトと同じクラスで、同じ内容の新しいオブジェクトを作成します。
      boolean contains​(Point2D p)
      指定されたPoint2Dが、内側の定義によって記述されたShapeの境界の内側にあるかどうかをテストします。
      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)
      このShapeの表示枠矩形の位置とサイズを、それぞれ指定されたPoint2DDimension2Dに設定します。
      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オブジェクトに基づいて設定します。
    • コンストラクタの詳細

      • RectangularShape

        protected RectangularShape()
        これは、インスタンスを直接には生成できない抽象クラスです。
        導入されたバージョン:
        1.2
        関連項目:
        Arc2D, Ellipse2D, Rectangle2D, RoundRectangle2D
    • メソッドの詳細

      • getX

        public abstract double getX()
        表示枠矩形の左上隅のX座標をdouble精度で返します。
        戻り値:
        表示枠矩形の左上隅のX座標。
        導入されたバージョン:
        1.2
      • getY

        public abstract double getY()
        表示枠矩形の左上隅のY座標をdouble精度で返します。
        戻り値:
        表示枠矩形の左上隅のY座標。
        導入されたバージョン:
        1.2
      • getWidth

        public abstract double getWidth()
        表示枠矩形の幅をdouble精度で返します。
        戻り値:
        表示枠矩形の幅。
        導入されたバージョン:
        1.2
      • getHeight

        public abstract double getHeight()
        表示枠矩形の高さをdouble精度で返します。
        戻り値:
        表示枠矩形の高さ。
        導入されたバージョン:
        1.2
      • getMinX

        public double getMinX()
        Shapeの表示枠矩形の最小のX座標をdouble精度で返します。
        戻り値:
        Shapeの表示枠矩形の最小のX座標。
        導入されたバージョン:
        1.2
      • getMinY

        public double getMinY()
        Shapeの表示枠矩形の最小のY座標をdouble精度で返します。
        戻り値:
        Shapeの表示枠矩形の最小のY座標。
        導入されたバージョン:
        1.2
      • getMaxX

        public double getMaxX()
        Shapeの表示枠矩形の最大のX座標をdouble精度で返します。
        戻り値:
        Shapeの表示枠矩形の最大のX座標。
        導入されたバージョン:
        1.2
      • getMaxY

        public double getMaxY()
        Shapeの表示枠矩形の最大のY座標をdouble精度で返します。
        戻り値:
        Shapeの表示枠矩形の最大のY座標。
        導入されたバージョン:
        1.2
      • getCenterX

        public double getCenterX()
        Shapeの表示枠矩形の中心のX座標をdouble精度で返します。
        戻り値:
        Shapeの表示枠矩形の中心のX座標。
        導入されたバージョン:
        1.2
      • getCenterY

        public double getCenterY()
        Shapeの表示枠矩形の中心のY座標をdouble精度で返します。
        戻り値:
        Shapeの表示枠矩形の中心のY座標。
        導入されたバージョン:
        1.2
      • isEmpty

        public abstract boolean isEmpty()
        RectangularShapeが空であるかどうかを判定します。 RectangularShapeが空の場合は、領域はありません。
        戻り値:
        RectangularShapeが空である場合はtrue、そうでない場合はfalse
        導入されたバージョン:
        1.2
      • setFrame

        public abstract void setFrame​(double x,
                                      double y,
                                      double w,
                                      double h)
        このShapeの表示枠矩形の位置とサイズを、指定された矩形値に設定します。
        パラメータ:
        x - 指定された矩形形状の左上隅のX座標
        y - 指定された矩形形状の左上隅のY座標
        w - 指定された矩形形状の幅
        h - 指定された矩形形状の高さ
        導入されたバージョン:
        1.2
        関連項目:
        getFrame()
      • setFrame

        public void setFrame​(Point2D loc,
                             Dimension2D size)
        このShapeの表示枠矩形の位置とサイズを、それぞれ指定されたPoint2DDimension2Dに設定します。 表示枠矩形は、RectangularShapeのサブクラスが幾何学的図形を定義するために使用します。
        パラメータ:
        loc - 指定されたPoint2D
        size - 指定されたDimension2D
        導入されたバージョン:
        1.2
        関連項目:
        getFrame()
      • setFrame

        public void setFrame​(Rectangle2D r)
        このShapeの表示枠矩形を、指定されたRectangle2Dに設定します。 表示枠矩形は、RectangularShapeのサブクラスが幾何学的図形を定義するために使用します。
        パラメータ:
        r - 指定されたRectangle2D
        導入されたバージョン:
        1.2
        関連項目:
        getFrame()
      • setFrameFromDiagonal

        public void setFrameFromDiagonal​(double x1,
                                         double y1,
                                         double x2,
                                         double y2)
        このShapeの表示枠矩形の対角線を、指定された2つの座標に基づいて設定します。 表示枠矩形は、RectangularShapeのサブクラスが幾何学的図形を定義するために使用します。
        パラメータ:
        x1 - 指定された対角線の始点のX座標
        y1 - 指定された対角線の始点のY座標
        x2 - 指定された対角線の終点のX座標
        y2 - 指定された対角線の終点のY座標
        導入されたバージョン:
        1.2
      • setFrameFromDiagonal

        public void setFrameFromDiagonal​(Point2D p1,
                                         Point2D p2)
        このShapeの表示枠矩形の対角線を、指定された2つのPoint2Dオブジェクトに基づいて設定します。 表示枠矩形は、RectangularShapeのサブクラスが幾何学的図形を定義するために使用します。
        パラメータ:
        p1 - 指定された対角線の始点Point2D
        p2 - 指定された対角線の終点Point2D
        導入されたバージョン:
        1.2
      • setFrameFromCenter

        public void setFrameFromCenter​(double centerX,
                                       double centerY,
                                       double cornerX,
                                       double cornerY)
        このShapeの表示枠矩形を、指定された中心点および角の点の座標に基づいて設定します。 表示枠矩形は、RectangularShapeのサブクラスが幾何学的図形を定義するために使用します。
        パラメータ:
        centerX - 指定された中心点のX座標
        centerY - 指定された中心点のY座標
        cornerX - 指定された角の点のX座標
        cornerY - 指定された角の点のY座標
        導入されたバージョン:
        1.2
      • setFrameFromCenter

        public void setFrameFromCenter​(Point2D center,
                                       Point2D corner)
        このShapeの表示枠矩形を、中心を表すPoint2Dおよび角を表すPoint2Dに基づいて設定します。 表示枠矩形は、RectangularShapeのサブクラスが幾何学的図形を定義するために使用します。
        パラメータ:
        center - 指定された中心のPoint2D
        corner - 指定された角のPoint2D
        導入されたバージョン:
        1.2
      • contains

        public boolean contains​(Point2D p)
        指定されたPoint2Dが、内側の定義によって記述されたShapeの境界の内側にあるかどうかをテストします。
        定義:
        contains、インタフェースShape
        パラメータ:
        p - テストされる指定されたPoint2D
        戻り値:
        指定されたPoint2DShapeの境界の内側にある場合はtrue、それ以外の場合はfalse
        導入されたバージョン:
        1.2
      • intersects

        public boolean intersects​(Rectangle2D r)
        Shapeの内部が指定されたRectangle2Dの内部と交差しているかどうかをテストします。 Shape.intersects()メソッドを使用すると、次のような場合に、Shape実装は内部的にtrueを返すことができます。
        • Rectangle2DShapeが交差している可能性が高いが、
        • この共通部分を正確に判断する計算の負荷がかなり大きい。
        つまり、Shapesによっては、Rectangle2DShapeと交差していない場合でもこのメソッドがtrueを返すことがあります。 Areaクラスは、ほとんどのShapeオブジェクトより正確な、幾何学的な共通部分の計算を実行するため、より的確な答えが必要な場合に使用できます。
        定義:
        intersects、インタフェースShape
        パラメータ:
        r - 指定されたRectangle2D
        戻り値:
        Shapeの内部と指定されたRectangle2Dの内部が交差しているか、またはどちらも交差している可能性が高いが、負荷が大きすぎて共通部分の計算を実行できない場合はtrue、それ以外の場合はfalse
        導入されたバージョン:
        1.2
        関連項目:
        Shape.intersects(double, double, double, double)
      • contains

        public boolean contains​(Rectangle2D r)
        Shapeの内部に、指定されたRectangle2Dが完全に含まれるかどうかをテストします。 Shape.contains()メソッドを使用すると、次のような場合に、Shape実装は内部的にfalseを返すことができます。
        • intersectメソッドがtrueを返し、かつ
        • ShapeRectangle2Dが完全に含まれるかどうかを判定するための計算の負荷が非常に大きい。
        つまり、Shapesによっては、ShapeRectangle2Dが含まれている場合でもこのメソッドがfalseを返すことがあります。 Areaクラスは、ほとんどのShapeオブジェクトより正確な幾何学的計算を実行するため、より的確な答えが必要な場合に使用できます。
        定義:
        contains、インタフェースShape
        パラメータ:
        r - 指定されたRectangle2D
        戻り値:
        Shapeの内部にRectangle2Dが完全に含まれる場合はtrue、それ以外の場合、またはShapeRectangle2Dが含まれ、intersectsメソッドがtrueを返し、さらに負荷が大きすぎて包含の計算を実行できない場合はfalse
        導入されたバージョン:
        1.2
        関連項目:
        Shape.contains(double, double, double, double)
      • getBounds

        public Rectangle getBounds()
        Shapeを完全に囲む整数のRectangleを返します。 返されたRectangleShapeを囲む最小のバウンディング・ボックスであるとは限りません。示されたRectangle内にShapeが完全に収まるというだけです。 また、Shapeが整数型の制限範囲を超える場合、返されたRectangleShapeを完全に囲むことができないこともあります。 通常は、getBounds2Dメソッドの方が、表現の自由度が高いために、比較的ぴったりしたバウンディング・ボックスを返します。

        内側の定義によって、shapeの定義する輪郭上の点が、返されたboundsオブジェクトに含まれていると見なされない状況が発生する場合があります。ただし、これは、これらの点が元のshapeにも含まれていないと見なされる場合のみです。

        pointcontains(point)メソッドに従ってshapeの内側にある場合は、boundscontains(point)メソッドに従って、返されたRectangle境界オブジェクトの内側にある必要があります。 具体的には、次のようになります。

        shape.contains(x,y)にはbounds.contains(x,y)が必要

        pointshapeの内側にない場合は、引き続きboundsオブジェクトに含まれている可能性があります。

        bounds.contains(x,y)shape.contains(x,y)を示さない

        定義:
        getBounds、インタフェースShape
        戻り値:
        Shapeを完全に囲む整数型のRectangle
        導入されたバージョン:
        1.2
        関連項目:
        Shape.getBounds2D()
      • getPathIterator

        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オブジェクト。
        導入されたバージョン:
        1.2
      • clone

        public Object clone()
        このオブジェクトと同じクラスで、同じ内容の新しいオブジェクトを作成します。
        オーバーライド:
        clone、クラスObject
        戻り値:
        このインスタンスの複製。
        例外:
        OutOfMemoryError - 十分なメモリーがない場合。
        導入されたバージョン:
        1.2
        関連項目:
        Cloneable