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

クラスPath2D.Double

  • すべての実装されたインタフェース:
    Shape, Serializable, Cloneable
    含まれているクラス:
    Path2D

    public static class Path2D.Double
    extends Path2D
    implements Serializable
    Doubleクラスは、座標が倍精度浮動小数点で格納される幾何学的パスを定義します。
    導入されたバージョン:
    1.6
    関連項目:
    直列化された形式
    • ネストされたクラスのサマリー

    • コンストラクタのサマリー

      コンストラクタ 
      コンストラクタ 説明
      Double()
      Path2D.WIND_NON_ZEROのデフォルトの屈曲規則を使用して、新しい空の倍精度Path2Dオブジェクトを構築します。
      Double​(int rule)
      パスの内部を定義する必要があるオペレーションを制御するために屈曲規則を指定して、新しい空の倍精度Path2Dオブジェクトを構築します。
      Double​(int rule, int initialCapacity)
      屈曲規則、およびパス・セグメントを格納できる初期容量を指定して、新しい空の倍精度Path2Dオブジェクトを構築します。
      Double​(Shape s)
      任意のShapeオブジェクトから、新しい空の倍精度Path2Dを構築します。
      Double​(Shape s, AffineTransform at)
      AffineTransformオブジェクトによって変換される、任意のShapeオブジェクトから新しい倍精度Path2Dオブジェクトを構築します。
    • コンストラクタの詳細

      • Double

        public Double()
        Path2D.WIND_NON_ZEROのデフォルトの屈曲規則を使用して、新しい空の倍精度Path2Dオブジェクトを構築します。
        導入されたバージョン:
        1.6
      • Double

        public Double​(int rule)
        パスの内部を定義する必要があるオペレーションを制御するために屈曲規則を指定して、新しい空の倍精度Path2Dオブジェクトを構築します。
        パラメータ:
        rule - 屈曲規則
        導入されたバージョン:
        1.6
        関連項目:
        Path2D.WIND_EVEN_ODD, Path2D.WIND_NON_ZERO
      • Double

        public Double​(int rule,
                      int initialCapacity)
        屈曲規則、およびパス・セグメントを格納できる初期容量を指定して、新しい空の倍精度Path2Dオブジェクトを構築します。 この数字は、パスに存在するパス・セグメントの数についての初期推定ですが、このパスにパス・セグメントが追加されるときに、必要に応じて格納するためのストレージが拡張されます。
        パラメータ:
        rule - 屈曲規則
        initialCapacity - パスにあるパス・セグメントの数の推定値
        導入されたバージョン:
        1.6
        関連項目:
        Path2D.WIND_EVEN_ODD, Path2D.WIND_NON_ZERO
      • Double

        public Double​(Shape s)
        任意のShapeオブジェクトから、新しい空の倍精度Path2Dを構築します。 このパスの初期幾何学的図形および屈曲規則はすべて、指定されたShapeオブジェクトからとられます。
        パラメータ:
        s - 指定されたShapeオブジェクト
        導入されたバージョン:
        1.6
      • Double

        public Double​(Shape s,
                      AffineTransform at)
        AffineTransformオブジェクトによって変換される、任意のShapeオブジェクトから新しい倍精度Path2Dオブジェクトを構築します。 このパスの初期幾何学的図形および屈曲規則はすべて、指定されたShapeオブジェクトからとられ、指定されたAffineTransformオブジェクトによって変換されます。
        パラメータ:
        s - 指定されたShapeオブジェクト
        at - 指定されたAffineTransformオブジェクト
        導入されたバージョン:
        1.6
    • メソッドの詳細

      • moveTo

        public final void moveTo​(double x,
                                 double y)
        倍精度で指定された座標に移動して点をパスに追加します。
        定義:
        moveTo、クラスPath2D
        パラメータ:
        x - 指定されたX座標
        y - 指定されたY座標
        導入されたバージョン:
        1.6
      • lineTo

        public final void lineTo​(double x,
                                 double y)
        現在の座標から倍精度で新しく指定された座標まで直線を描画して点をパスに追加します。
        定義:
        lineTo、クラスPath2D
        パラメータ:
        x - 指定されたX座標
        y - 指定されたY座標
        導入されたバージョン:
        1.6
      • quadTo

        public final void quadTo​(double x1,
                                 double y1,
                                 double x2,
                                 double y2)
        2つの新しい点によって定義される曲線セグメントをパスに追加します。曲線セグメントは、指定された点(x1,y1)を2次パラメトリック制御点として使用して、現在の座標と指定された座標(x2,y2)を通る2次曲線として描画します。 すべての座標は、倍精度で指定されます。
        定義:
        quadTo、クラスPath2D
        パラメータ:
        x1 - 2次制御点のX座標
        y1 - 2次制御点のY座標
        x2 - 最後の終点のX座標
        y2 - 最後の終点のY座標
        導入されたバージョン:
        1.6
      • curveTo

        public final void curveTo​(double x1,
                                  double y1,
                                  double x2,
                                  double y2,
                                  double x3,
                                  double y3)
        3つの新しい点によって定義される曲線セグメントをパスに追加します。曲線セグメントは、指定された点(x1,y1)と点(x2,y2)をベジェ制御点として使用して、現在の座標と指定された座標(x3,y3)の両方を通るベジェ曲線として描画します。 すべての座標は、倍精度で指定されます。
        定義:
        curveTo、クラスPath2D
        パラメータ:
        x1 - 最初のベジェ制御点のX座標
        y1 - 最初のベジェ制御点のY座標
        x2 - 2番目のベジェ制御点のX座標
        y2 - 2番目のベジェ制御点のY座標
        x3 - 最後の終点のX座標
        y3 - 最後の終点のY座標
        導入されたバージョン:
        1.6
      • append

        public final void append​(PathIterator pi,
                                 boolean connect)
        指定されたPathIteratorオブジェクトの幾何学的図形をパスに追加します。その新しい幾何学的図形をライン・セグメントで既存のパス・セグメントに接続することも可能です。 connectパラメータがtrueであり、パスが空でない場合、追加されたShapeの幾何学的図形の初期moveTolineToセグメントに変わります。 そのような接続lineToセグメントのデスティネーションの座標が現在開いているサブパスの終了座標と一致する場合、セグメントは不要なので省略されます。 指定されたShapeの屈曲規則は無視され、追加された幾何学的図形はこのパスに指定された屈曲規則に制御されます。
        定義:
        append、クラスPath2D
        パラメータ:
        pi - このパスに幾何学的図形が追加されるPathIterator
        connect - 新しい幾何学的図形を既存のパスに接続するために初期moveToセグメントをlineToセグメントに変えるかどうかを制御するboolean値
        導入されたバージョン:
        1.6
      • transform

        public final void transform​(AffineTransform at)
        指定されたAffineTransformを使用して、このパスの幾何学的図形を変換します。 幾何学的図形は適切に変換され、これにより、このオブジェクトによって定義される境界が永久的に変更されます。
        定義:
        transform、クラスPath2D
        パラメータ:
        at - 領域を変換するのに使うAffineTransform
        導入されたバージョン:
        1.6
      • getBounds2D

        public final Rectangle2D getBounds2D()
        高精度で、かつgetBoundsメソッドより正確なShapeのバウンディング・ボックスを返します。 返されたRectangle2Dが、Shapeを囲む最小のバウンディング・ボックスであるという保証はありません。Shapeが、示されたRectangle2D内に完全に含まれているだけです。 戻り値を、倍精度値を使用して寸法を格納するRectangle2Dのインスタンスにすることができるため、このメソッドによって返されたバウンディング・ボックスは通常、getBoundsメソッドによって返されたものより厳密であり、オーバーフローの問題のために失敗することはありません。

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

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

        shape.contains(p)にはbounds.contains(p)が必要

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

        bounds.contains(p)shape.contains(p)を示さない

        定義:
        getBounds2D、インタフェースShape
        戻り値:
        Shapeの高精度のバウンディング・ボックスであるRectangle2Dのインスタンス。
        導入されたバージョン:
        1.6
        関連項目:
        Shape.getBounds()
      • getPathIterator

        public final PathIterator getPathIterator​(AffineTransform at)
        Shapeの境界に沿って反復し、Shapeの輪郭の幾何学的図形へのアクセスを提供するイテレータ・オブジェクトを返します。 オプションのAffineTransformが指定されると、反復処理で返される座標がそれに応じて変換されます。

        このメソッドを呼び出すたびに、同時に使用されているほかのすべてのPathIteratorオブジェクトとは無関係に、Shapeオブジェクトの幾何学的図形をトラバースする新しいPathIteratorオブジェクトが返されます。

        Shapeインタフェースを実装するオブジェクトにより、進行中の反復が、このような反復中に発生する可能性のある元のオブジェクトの幾何学的図形へのどのような変更からも切り離されることを推奨しますが、これは保証されません。

        このクラスのイテレータは、マルチ・スレッドに対して安全ではありません。つまりこのPath2Dクラスでは、このPath2Dオブジェクトの幾何学的図形を変更すると、この幾何学的図形についてすでに進行中の反復処理に影響を及ぼす場合があります。

        定義:
        getPathIterator、インタフェースShape
        パラメータ:
        at - AffineTransform
        戻り値:
        このShapeの境界に沿って反復し、このShapeの輪郭線の幾何学的図形へのアクセスを提供する新しいPathIterator
        導入されたバージョン:
        1.6
      • clone

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