public static class Path2D.Double extends Path2D implements Serializable
Doubleクラスは、座標が倍精度浮動小数点で格納される幾何学的パスを定義します。Path2D.Double, Path2D.FloatWIND_EVEN_ODD, WIND_NON_ZERO| コンストラクタ | 説明 | 
|---|---|
| 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オブジェクトを構築します。 | 
| 修飾子と型 | メソッド | 説明 | 
|---|---|---|
| void | append(PathIterator pi, boolean connect) | 指定された PathIteratorオブジェクトの幾何学的図形をパスに追加します。その新しい幾何学的図形をライン・セグメントで既存のパス・セグメントに接続することも可能です。 | 
| Object | clone() | このオブジェクトと同じクラスの新しいオブジェクトを作成します。 | 
| void | curveTo(double x1, double y1, double x2, double y2, double x3, double y3) | 3つの新しい点によって定義される曲線セグメントをパスに追加します。曲線セグメントは、指定された点 (x1,y1)と点(x2,y2)をベジェ制御点として使用して、現在の座標と指定された座標(x3,y3)の両方を通るベジェ曲線として描画します。 | 
| Rectangle2D | getBounds2D() | 高精度で、かつ getBoundsメソッドより正確なShapeのバウンディング・ボックスを返します。 | 
| PathIterator | getPathIterator(AffineTransform at) | Shapeの境界に沿って反復し、Shapeの輪郭の幾何学的図形へのアクセスを提供するイテレータ・オブジェクトを返します。 | 
| void | lineTo(double x, double y) | 現在の座標から倍精度で新しく指定された座標まで直線を描画して点をパスに追加します。 | 
| void | moveTo(double x, double y) | 倍精度で指定された座標に移動して点をパスに追加します。 | 
| void | quadTo(double x1, double y1, double x2, double y2) | 2つの新しい点によって定義される曲線セグメントをパスに追加します。曲線セグメントは、指定された点 (x1,y1)を2次パラメトリック制御点として使用して、現在の座標と指定された座標(x2,y2)を通る2次曲線として描画します。 | 
| void | transform(AffineTransform at) | 指定された AffineTransformを使用して、このパスの幾何学的図形を変換します。 | 
append, closePath, contains, contains, contains, contains, contains, contains, contains, contains, createTransformedShape, getBounds, getCurrentPoint, getPathIterator, getWindingRule, intersects, intersects, intersects, intersects, reset, setWindingRulepublic Double()
Path2D.WIND_NON_ZEROのデフォルトの屈曲規則を使用して、新しい空の倍精度Path2Dオブジェクトを構築します。public Double(int rule)
Path2Dオブジェクトを構築します。rule - 屈曲規則Path2D.WIND_EVEN_ODD, Path2D.WIND_NON_ZEROpublic Double(int rule,
              int initialCapacity)
Path2Dオブジェクトを構築します。 この数字は、パスに存在するパス・セグメントの数についての初期推定ですが、このパスにパス・セグメントが追加されるときに、必要に応じて格納するためのストレージが拡張されます。 rule - 屈曲規則initialCapacity - パスにあるパス・セグメントの数の推定値Path2D.WIND_EVEN_ODD, Path2D.WIND_NON_ZEROpublic Double(Shape s)
Shapeオブジェクトから、新しい空の倍精度Path2Dを構築します。 このパスの初期幾何学的図形および屈曲規則はすべて、指定されたShapeオブジェクトからとられます。 s - 指定されたShapeオブジェクトpublic Double(Shape s, AffineTransform at)
AffineTransformオブジェクトによって変換される、任意のShapeオブジェクトから新しい倍精度Path2Dオブジェクトを構築します。 このパスの初期幾何学的図形および屈曲規則はすべて、指定されたShapeオブジェクトからとられ、指定されたAffineTransformオブジェクトによって変換されます。 s - 指定されたShapeオブジェクトat - 指定されたAffineTransformオブジェクトpublic final void moveTo(double x,
                         double y)
public final void lineTo(double x,
                         double y)
public final void quadTo(double x1,
                         double y1,
                         double x2,
                         double y2)
(x1,y1)を2次パラメトリック制御点として使用して、現在の座標と指定された座標(x2,y2)を通る2次曲線として描画します。 すべての座標は、倍精度で指定されます。 public final void curveTo(double x1,
                          double y1,
                          double x2,
                          double y2,
                          double x3,
                          double y3)
(x1,y1)と点(x2,y2)をベジェ制御点として使用して、現在の座標と指定された座標(x3,y3)の両方を通るベジェ曲線として描画します。 すべての座標は、倍精度で指定されます。 public final void append(PathIterator pi, boolean connect)
PathIteratorオブジェクトの幾何学的図形をパスに追加します。その新しい幾何学的図形をライン・セグメントで既存のパス・セグメントに接続することも可能です。 connectパラメータがtrueであり、パスが空でない場合、追加されたShapeの幾何学的図形の初期moveToはlineToセグメントに変わります。 そのような接続lineToセグメントのデスティネーションの座標が現在開いているサブパスの終了座標と一致する場合、セグメントは不要なので省略されます。 指定されたShapeの屈曲規則は無視され、追加された幾何学的図形はこのパスに指定された屈曲規則に制御されます。 public final void transform(AffineTransform at)
AffineTransformを使用して、このパスの幾何学的図形を変換します。 幾何学的図形は適切に変換され、これにより、このオブジェクトによって定義される境界が永久的に変更されます。 public final Rectangle2D getBounds2D()
getBoundsメソッドより正確なShapeのバウンディング・ボックスを返します。 返されたRectangle2Dが、Shapeを囲む最小のバウンディング・ボックスであるという保証はありません。Shapeが、示されたRectangle2D内に完全に含まれているだけです。 戻り値を、倍精度値を使用して寸法を格納するRectangle2Dのインスタンスにすることができるため、このメソッドによって返されたバウンディング・ボックスは通常、getBoundsメソッドによって返されたものより厳密であり、オーバーフローの問題のために失敗することはありません。 
 
 内側の定義によって、shapeの定義する輪郭上の点が、返されたboundsオブジェクトに含まれていると見なされない状況が発生する場合があります。ただし、これは、これらの点が元のshapeにも含まれていないと見なされる場合のみです。
 
 pointがcontains(point)メソッドに従ってshapeの内側にある場合は、boundsのcontains(point)メソッドに従って、返されたRectangle2D境界オブジェクトの内側にある必要があります。 具体的には、次のようになります。 
 
  shape.contains(p)にはbounds.contains(p)が必要
 
 pointがshapeの内側にない場合は、引き続きboundsオブジェクトに含まれている可能性があります。
 
  bounds.contains(p)はshape.contains(p)を示さない
 
getBounds2D、インタフェースShapeShapeの高精度のバウンディング・ボックスであるRectangle2Dのインスタンス。Shape.getBounds()public final PathIterator getPathIterator(AffineTransform at)
Shapeの境界に沿って反復し、Shapeの輪郭の幾何学的図形へのアクセスを提供するイテレータ・オブジェクトを返します。 オプションのAffineTransformが指定されると、反復処理で返される座標がそれに応じて変換されます。 
 
 このメソッドを呼び出すたびに、同時に使用されているほかのすべてのPathIteratorオブジェクトとは無関係に、Shapeオブジェクトの幾何学的図形をトラバースする新しいPathIteratorオブジェクトが返されます。
 
 Shapeインタフェースを実装するオブジェクトにより、進行中の反復が、このような反復中に発生する可能性のある元のオブジェクトの幾何学的図形へのどのような変更からも切り離されることを推奨しますが、これは保証されません。
 
 このクラスのイテレータは、マルチ・スレッドに対して安全ではありません。つまりこのPath2Dクラスでは、このPath2Dオブジェクトの幾何学的図形を変更すると、この幾何学的図形についてすでに進行中の反復処理に影響を及ぼす場合があります。
getPathIterator、インタフェースShapeat - AffineTransformShapeの境界に沿って反復し、このShapeの輪郭線の幾何学的図形へのアクセスを提供する新しいPathIteratorpublic final Object clone()
clone、クラスPath2DOutOfMemoryError - 十分なメモリーがない場合。Cloneable バグまたは機能を送信 
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。 そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。 
 Copyright © 1993, 2025, Oracle and/or its affiliates.  All rights reserved.  Use is subject to license terms.  Documentation Redistribution Policyも参照してください。