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

クラスRectangularShape

java.lang.Object
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
    これは、インスタンスを直接には生成できない抽象クラスです。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    このオブジェクトと同じクラスで、同じ内容の新しいオブジェクトを作成します。
    boolean
    指定されたPoint2Dが、内側の定義によって記述されたShapeの境界の内側にあるかどうかをテストします。
    boolean
    Shapeの内部に、指定されたRectangle2Dが完全に含まれるかどうかをテストします。
    Shapeを完全に囲む整数のRectangleを返します。
    double
    Shapeの表示枠矩形の中心のX座標をdouble精度で返します。
    double
    Shapeの表示枠矩形の中心のY座標をdouble精度で返します。
    このオブジェクトの形状全体を定義する表示枠Rectangle2Dを返します。
    abstract double
    表示枠矩形の高さをdouble精度で返します。
    double
    Shapeの表示枠矩形の最大のX座標をdouble精度で返します。
    double
    Shapeの表示枠矩形の最大のY座標をdouble精度で返します。
    double
    Shapeの表示枠矩形の最小のX座標をdouble精度で返します。
    double
    Shapeの表示枠矩形の最小のY座標をdouble精度で返します。
    getPathIterator​(AffineTransform at, double flatness)
    Shapeオブジェクトの境界に沿って反復処理するイテレータ・オブジェクトを返し、Shapeオブジェクトの幾何学的図形の輪郭の平坦化されたビューへのアクセスを提供します。
    abstract double
    表示枠矩形の幅をdouble精度で返します。
    abstract double
    表示枠矩形の左上隅のX座標をdouble精度で返します。
    abstract double
    表示枠矩形の左上隅のY座標をdouble精度で返します。
    boolean
    Shapeの内部が指定されたRectangle2Dの内部と交差しているかどうかをテストします。
    abstract boolean
    RectangularShapeが空であるかどうかを判定します。
    abstract void
    setFrame​(double x, double y, double w, double h)
    このShapeの表示枠矩形の位置とサイズを、指定された矩形値に設定します。
    void
    setFrame​(Point2D loc, Dimension2D size)
    このShapeの表示枠矩形の位置とサイズを、それぞれ指定されたPoint2DDimension2Dに設定します。
    void
    この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
    このShapeの表示枠矩形の対角線を、指定された2つのPoint2Dオブジェクトに基づいて設定します。

    クラス java.lang.Objectで宣言されたメソッド

    equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    インタフェース java.awt.Shapeで宣言されたメソッド

    contains, contains, getBounds2D, getPathIterator, intersects
  • コンストラクタの詳細

    • 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
    • getFrame

      public Rectangle2D getFrame()
      このオブジェクトの形状全体を定義する表示枠Rectangle2Dを返します。
      戻り値:
      double座標で指定されたRectangle2D
      導入されたバージョン:
      1.2
      関連項目:
      setFrame(double, double, double, double), setFrame(Point2D, Dimension2D), setFrame(Rectangle2D)
    • 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