|
Java プラットフォーム 1.2 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--java.awt.geom.GeneralPath
GeneralPath
クラスは、直線、2 次曲線、および 3 次 (ベジェ) 曲線から作成されたジオメトリックパスを表します。このクラスは、複数のサブパスを持つことができます。
屈曲規則は、パスの内部がどのように決められるかを指定します。屈曲規則には、EVEN_ODD と NON_ZERO の 2 つのタイプがあります。
EVEN_ODD の場合、パスの囲む領域は、パスの外側から領域の内側の点に向かって移動するときに内部領域と外部領域が切り替わります。
NON_ZERO では、指定された点を起点として無限遠点に向かって任意の方向に光線が描画される場合、その光線とパスが交差する場所を調べて、パスが光線を左から右に横切る回数と右から左に横切る回数が同じでない場合にだけ、点はパスの内側にあります。
フィールドの概要 | |
static int |
WIND_EVEN_ODD
パスの内部を決める偶奇屈曲規則です。 |
static int |
WIND_NON_ZERO
パスの内部を決める非ゼロ屈曲規則です。 |
コンストラクタの概要 | |
GeneralPath()
新しい GeneralPath オブジェクトを構築します。 |
|
GeneralPath(int rule)
パスの内部を定義する必要があるオペレーションを制御するために屈曲規則を指定して、新しい GeneralPath オブジェクトを構築します。 |
|
GeneralPath(int rule,
int initialCapacity)
屈曲規則、およびパスの座標を格納する初期容量を指定して、新しい GeneralPath オブジェクトを構築します。 |
|
GeneralPath(Shape s)
任意の Shape オブジェクトから新しい GeneralPath オブジェクトを構築します。 |
メソッドの概要 | |
void |
append(PathIterator pi,
boolean connect)
指定された PathIterator オブジェクトのジオメトリをパスに追加し、可能な場合にその新しいジオメトリをラインセグメントで既存のパスセグメントに接続します。 |
void |
append(Shape s,
boolean connect)
指定された Shape オブジェクトのジオメトリをパスに追加します。 |
Object |
clone()
このオブジェクトと同じクラスの新しいオブジェクトを作成します。 |
void |
closePath()
最後の moveTo の座標まで直線を描画して現在のサブパスを閉じます。 |
boolean |
contains(double x,
double y)
指定された座標がこの Shape の境界内にあるかどうかを判定します。 |
boolean |
contains(double x,
double y,
double w,
double h)
指定された矩形領域がこの Shape の境界内にあるかどうかを判定します。 |
boolean |
contains(Point2D p)
指定された Point2D がこの Shape の境界内にあるかどうかを判定します。 |
boolean |
contains(Rectangle2D r)
指定された Rectangle2D がこの Shape の境界内にあるかどうかを判定します。 |
Shape |
createTransformedShape(AffineTransform at)
変換された、新しい Shape を返します。 |
void |
curveTo(float x1,
float y1,
float x2,
float y2,
float x3,
float y3)
3 つの新しい点によって定義される曲線セグメントをパスに追加します。 |
Rectangle |
getBounds()
パスのバウンディングボックスを返します。 |
Rectangle2D |
getBounds2D()
パスのバウンディングボックスを返します。 |
Point2D |
getCurrentPoint()
パスの最後に追加されたもっとも新しい座標を Point2D オブジェクトとして返します。 |
PathIterator |
getPathIterator(AffineTransform at)
この Shape の境界に沿って繰り返し処理を行い、この Shape の輪郭のジオメトリへのアクセスを提供する PathIterator オブジェクトを返します。 |
PathIterator |
getPathIterator(AffineTransform at,
double flatness)
平坦化された Shape の境界に沿って繰り返し処理を行い、Shape の輪郭のジオメトリへのアクセスを提供する PathIterator オブジェクトを返します。 |
int |
getWindingRule()
塗りつぶしスタイル屈曲規則を返します。 |
boolean |
intersects(double x,
double y,
double w,
double h)
この Shape の内部が、指定された矩形座標セットの内部と交差するかどうかを判定します。 |
boolean |
intersects(Rectangle2D r)
この Shape の内部が、指定された Rectangle2D の内部と交差するかどうかを判定します。 |
void |
lineTo(float x,
float y)
現在の座標から新しく指定された座標まで直線を描画して点をパスに追加します。 |
void |
moveTo(float x,
float y)
指定された座標に移動して点をパスに追加します。 |
void |
quadTo(float x1,
float y1,
float x2,
float y2)
2 つの新しい点によって定義される曲線セグメントをパスに追加します。 |
void |
reset()
パスを空にリセットします。 |
void |
setWindingRule(int rule)
このパスの屈曲規則を指定された値に設定します。 |
void |
transform(AffineTransform at)
指定された AffineTransform を使用して、このパスのジオメトリを変換します。 |
クラス java.lang.Object から継承したメソッド |
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
フィールドの詳細 |
public static final int WIND_EVEN_ODD
public static final int WIND_NON_ZERO
コンストラクタの詳細 |
public GeneralPath()
GeneralPath
オブジェクトを構築します。パスの内部を定義する必要があるオペレーションがこのパスで実行される場合、デフォルトの NON_ZERO 屈曲規則が使用されます。WIND_NON_ZERO
public GeneralPath(int rule)
GeneralPath
オブジェクトを構築します。rule
- 屈曲規則WIND_EVEN_ODD
,
WIND_NON_ZERO
public GeneralPath(int rule, int initialCapacity)
GeneralPath
オブジェクトを構築します。この数字は、パスに存在するパスセグメントの数についての初期推定ですが、このパスにパスセグメントが追加されるときに必要に応じて拡張されます。rule
- 屈曲規則initialCapacity
- パスセグメント数の推定値WIND_EVEN_ODD
,
WIND_NON_ZERO
public GeneralPath(Shape s)
Shape
オブジェクトから新しい GeneralPath
オブジェクトを構築します。このパスの初期ジオメトリおよび屈曲規則は、指定された Shape
オブジェクトからとられます。s
- Shape
オブジェクトメソッドの詳細 |
public void moveTo(float x, float y)
x, y
- 座標public void lineTo(float x, float y)
x, y
- 座標public void quadTo(float x1, float y1, float x2, float y2)
x1, y1
- 最初の 2 次制御点の座標x2, y2
- 最後の端点の座標public void curveTo(float x1, float y1, float x2, float y2, float x3, float y3)
x1, y1
- 最初のベジェ制御点の座標x2, y2
- 2 番目のベジェ制御点の座標x3, y3
- 最後の端点の座標public void closePath()
moveTo
の座標まで直線を描画して現在のサブパスを閉じます。パスがすでに閉じている場合、このメソッドは効果がありません。public void append(Shape s, boolean connect)
Shape
オブジェクトのジオメトリをパスに追加します。その新しいジオメトリをラインセグメントで既存のパスセグメントに接続することも可能です。connect
パラメータが true
であり、パスが空ではない場合、追加された Shape
のジオメトリの初期 moveTo
は、lineTo
セグメントに変わります。そのような接続 lineTo
セグメントのデスティネーションの座標が現在開いているサブパスの終了座標と一致する場合、セグメントは不要なので省略されます。指定された Shape
の屈曲規則は無視され、追加されたジオメトリはこのパスに指定された屈曲規則で制御されます。s
- このパスにジオメトリが追加される Shape
connect
- 新しいジオメトリを既存のパスに接続するために初期 moveTo
セグメントを lineTo
セグメントに変えるかどうかを制御する boolean 値public void append(PathIterator pi, boolean connect)
PathIterator
オブジェクトのジオメトリをパスに追加し、可能な場合にその新しいジオメトリをラインセグメントで既存のパスセグメントに接続します。connect
パラメータが true
であり、パスが空ではない場合、追加された Shape
のジオメトリの初期 moveTo
は lineTo
セグメントに変わります。そのような接続 lineTo
セグメントのデスティネーションの座標が現在開いているサブパスの終了座標と一致する場合、セグメントは不要なので省略されます。指定された Shape
の屈曲規則は無視され、追加されたジオメトリはこのパスに指定された屈曲規則に制御されます。pi
- このパスにジオメトリが追加される PathIterator
connect
- 新しいジオメトリを既存のパスに接続するために初期 moveTo
セグメントを lineTo
セグメントに変えるかどうかを制御する boolean 値public int getWindingRule()
WIND_EVEN_ODD
,
WIND_NON_ZERO
public void setWindingRule(int rule)
rule
- 設定する屈曲規則を表す整数IllegalArgumentException
- rule
が WIND_EVEN_ODD
でも WIND_NON_ZERO
でもない場合WIND_EVEN_ODD
,
WIND_NON_ZERO
public Point2D getCurrentPoint()
Point2D
オブジェクトとして返します。Point2D
オブジェクト。パスに点がない場合は null
public void reset()
public void transform(AffineTransform at)
AffineTransform
を使用して、このパスのジオメトリを変換します。ジオメトリは適切に変換され、これにより、このオブジェクトによって定義される境界が永久的に変更されます。at
- 領域を変換するために使用される AffineTransform
public Shape createTransformedShape(AffineTransform at)
Shape
を返します。at
- 新しい Shape
を変換するために使用される AffineTransform
AffineTransform
で変換された、新しい Shape
public Rectangle getBounds()
Rectangle
オブジェクトpublic Rectangle2D getBounds2D()
Rectangle2D
オブジェクトpublic boolean contains(double x, double y)
Shape
の境界内にあるかどうかを判定します。x, y
- 座標Shape
の境界内にある場合は true
、そうでない場合は false
public boolean contains(Point2D p)
Point2D
がこの Shape
の境界内にあるかどうかを判定します。p
- Point2D
Shape
が指定された Point2D
を内包している場合は true
、そうでない場合は false
public boolean contains(double x, double y, double w, double h)
Shape
の境界内にあるかどうかを判定します。x, y
- 座標w
- 矩形領域の幅h
- 矩形領域の高さShape
が指定された矩形領域を内包している場合は true
、そうでない場合は false
public boolean contains(Rectangle2D r)
Rectangle2D
がこの Shape
の境界内にあるかどうかを判定します。r
- Rectangle2D
Shape
の境界内に指定された Rectangle2D
がある場合は true
、そうでない場合は false
public boolean intersects(double x, double y, double w, double h)
Shape
の内部が、指定された矩形座標セットの内部と交差するかどうかを判定します。x, y
- 座標w
- 矩形座標の幅h
- 矩形座標の高さShape
と指定された矩形座標セットが交差する場合は true
、そうでない場合は false
public boolean intersects(Rectangle2D r)
Shape
の内部が、指定された Rectangle2D
の内部と交差するかどうかを判定します。r
- Rectangle2D
Shape
と指定された Rectangle2D
の内部が交差する場合は true
、そうでない場合は false
public PathIterator getPathIterator(AffineTransform at)
Shape
の境界に沿って繰り返し処理を行い、この Shape
の輪郭のジオメトリへのアクセスを提供する PathIterator
オブジェクトを返します。このクラスの反復子は、マルチスレッドに対して安全ではありません。つまりこの GeneralPath
クラスは、この GeneralPath
オブジェクトのジオメトリを変更すると、このジオメトリについてすでに進行中の繰り返し処理に影響を及ぼす場合があります。at
- AffineTransform
Shape
の境界に沿って繰り返し処理を行い、この Shape
の輪郭のジオメトリへのアクセスを提供する新しい PathIterator
public PathIterator getPathIterator(AffineTransform at, double flatness)
Shape
の境界に沿って繰り返し処理を行い、Shape
の輪郭のジオメトリへのアクセスを提供する PathIterator
オブジェクトを返します。このクラスの反復子は、マルチスレッドに対して安全ではありません。つまりこの GeneralPath
クラスは、この GeneralPath
オブジェクトのジオメトリを変更すると、このジオメトリについてすでに進行中の繰り返し処理に影響を及ぼす場合があります。at
- AffineTransform
flatness
- 曲線セグメントを作成するために使用されるラインセグメントが、元の曲線上の任意の点からもっとも離れる距離Shape
の境界に沿って繰り返し処理を行う新しい PathIterator
public Object clone()
Cloneable
|
Java プラットフォーム 1.2 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |