Java プラットフォーム 1.2

java.awt.geom
クラス Arc2D

java.lang.Object
  |
  +--java.awt.geom.RectangularShape
        |
        +--java.awt.geom.Arc2D
直接の既知のサブクラス:
Arc2D.Double, Arc2D.Float

public abstract class Arc2D
extends RectangularShape

Arc2D は、境界の矩形、始角、角の大きさ (弧の長さ)、および閉じ方の種類 (OPENCHORD、または PIE) によって定義される 2 次元の弧を格納するすべてのオブジェクトの抽象スーパークラスです。

境界の矩形、始角、角の大きさ、閉じ方の種類 (OPEN、CHORD、または PIE) によって定義される弧です。境界の矩形は、この弧が一部を構成する楕円の外部境界を定義します。その角度は、楕円の中心から境界の矩形の左上隅までを結ぶ線が常に 45 度をなすような正方形でない境界の矩形を基準にして指定されます。結果として、境界の矩形の 2 つの軸の長さが明らかに違う場合、弧セグメントの始角と終角は境界の長軸に沿ってさらに歪められます。

座標の実際の記憶域表現はサブクラスに委ねられます。


内部クラスの概要
static class Arc2D.Double
          倍精度で指定された弧です。
static class Arc2D.Float
          float 精度で指定された弧です。
 
フィールドの概要
static int CHORD
          弧セグメントの始点と終点を結ぶ直線セグメントを描画することによって閉じられる弧の閉じ方の種類です。
static int OPEN
          弧セグメントの両端を結ぶパスセグメントを持たない開いた弧の閉じ方の種類です。
static int PIE
          弧セグメントの始点から楕円の中心までの直線セグメントと、楕円の中心から弧セグメントの終点までの直線セグメントを描画することによって、閉じられる弧の閉じ方の種類です。
 
コンストラクタの概要
protected Arc2D(int type)
          これは、インスタンスを直接には生成できない抽象クラスです。
 
メソッドの概要
 boolean contains(double x, double y)
          指定された点が弧の境界内にあるかどうかを判定します。
 boolean contains(double x, double y, double w, double h)
          弧が、指定された矩形を内部に完全に包含しているかどうかを判定します。
 boolean contains(Rectangle2D r)
          弧が、指定された矩形を内部に完全に包含しているかどうかを判定します。
 boolean containsAngle(double angle)
          指定された角度が弧の角の大きさと同じまたはそれより小さいかどうかを判定します。
abstract  double getAngleExtent()
          弧の角の大きさを返します。
abstract  double getAngleStart()
          弧の始角を返します。
 int getArcType()
          弧の閉じ方の種類(OPENCHORD、または PIE) を返します。
 Rectangle2D getBounds2D()
          弧の高精度バウンディングボックスを返します。
 Point2D getEndPoint()
          弧の終点を返します。
 PathIterator getPathIterator(AffineTransform at)
          弧の境界を定義する繰り返しオブジェクトを返します。
 Point2D getStartPoint()
          弧の始点を返します。
 boolean intersects(double x, double y, double w, double h)
          弧の内部が、指定された矩形の内部と交差するかどうかを判定します。
protected abstract  Rectangle2D makeBounds(double x, double y, double w, double h)
          この弧のバウンディングボックスになるように計算されたパラメータを格納するために、適切な精度の Rectangle2D を作成します。
abstract  void setAngleExtent(double angExt)
          この弧の角の大きさを、指定された double 値に設定します。
 void setAngles(double x1, double y1, double x2, double y2)
          2 組の座標を使用して、この弧の始角および角の大きさを設定します。
 void setAngles(Point2D p1, Point2D p2)
          2 つの点を使用して、この弧の始角および角の大きさを設定します。
abstract  void setAngleStart(double angSt)
          この弧の始角を、指定された double 値に設定します。
 void setAngleStart(Point2D p)
          この弧の始角を、指定された点によりこの弧の中心を基準に定義される角度に設定します。
 void setArc(Arc2D a)
          この弧を指定された弧と同じに設定します。
abstract  void setArc(double x, double y, double w, double h, double angSt, double angExt, int closure)
          この弧の位置、サイズ、角の大きさ、閉じ方の種類を、指定された double 値に設定します。
 void setArc(Point2D loc, Dimension2D size, double angSt, double angExt, int closure)
          この弧の位置、サイズ、角の大きさ、この弧の閉じ方の種類を、指定された値に設定します。
 void setArc(Rectangle2D rect, double angSt, double angExt, int closure)
          この弧の位置、サイズ、角の大きさ、閉じ方の種類を、指定された値に設定します。
 void setArcByCenter(double x, double y, double radius, double angSt, double angExt, int closure)
          この弧の位置、境界、角の大きさ、閉じ方の種類を、指定された値に設定します。
 void setArcByTangent(Point2D p1, Point2D p2, Point2D p3, double radius)
          この弧の位置、境界、角の大きさを、指定された値に設定します。
 void setArcType(int type)
          この弧の閉じ方の種類を、指定された値に設定します。
 void setFrame(double x, double y, double w, double h)
          この弧の外部境界の位置とサイズを、指定された値に設定します。
 
クラス java.awt.geom.RectangularShape から継承したメソッド
clone, contains, getBounds, getCenterX, getCenterY, getFrame, getHeight, getMaxX, getMaxY, getMinX, getMinY, getPathIterator, getWidth, getX, getY, intersects, isEmpty, setFrame, setFrame, setFrameFromCenter, setFrameFromCenter, setFrameFromDiagonal, setFrameFromDiagonal
 
クラス java.lang.Object から継承したメソッド
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

OPEN

public static final int OPEN
弧セグメントの両端を結ぶパスセグメントを持たない開いた弧の閉じ方の種類です。

CHORD

public static final int CHORD
弧セグメントの始点と終点を結ぶ直線セグメントを描画することによって閉じられる弧の閉じ方の種類です。

PIE

public static final int PIE
弧セグメントの始点から楕円の中心までの直線セグメントと、楕円の中心から弧セグメントの終点までの直線セグメントを描画することによって、閉じられる弧の閉じ方の種類です。
コンストラクタの詳細

Arc2D

protected Arc2D(int type)
これは、インスタンスを直接には生成できない抽象クラスです。インスタンス生成のためには型固有の実装サブクラスが用意されており、これらのサブクラスにより、下記の各種アクセス用メソッドに必要な情報を格納するための形式が多数提供されます。
パラメータ:
type - この弧の閉じ方の種類 (OPENCHORD、または PIE)
関連項目:
Arc2D.Float, Arc2D.Double
メソッドの詳細

getAngleStart

public abstract double getAngleStart()
弧の始角を返します。
戻り値:
弧の始角を度単位で表す double 値

getAngleExtent

public abstract double getAngleExtent()
弧の角の大きさを返します。
戻り値:
弧の角の大きさを度単位で表す double 値

getArcType

public int getArcType()
弧の閉じ方の種類(OPENCHORD、または PIE) を返します。
戻り値:
このクラスで定義されている閉じ方の種類を表す整数型定数

getStartPoint

public Point2D getStartPoint()
弧の始点を返します。この点は、弧の始角で定義される中心からの半径と、弧の楕円境界との交点です。
戻り値:
弧の始点の x,y 座標を表す Point2D オブジェクト

getEndPoint

public Point2D getEndPoint()
弧の終点を返します。この点は、弧の始角にその角の大きさを加えることにより定義される中心からの半径と、弧の楕円境界との交点です。
戻り値:
弧の終点の x,y 座標を表す Point2D オブジェクト

setArc

public abstract void setArc(double x,
                            double y,
                            double w,
                            double h,
                            double angSt,
                            double angExt,
                            int closure)
この弧の位置、サイズ、角の大きさ、閉じ方の種類を、指定された double 値に設定します。
パラメータ:
x, y - 弧の左上隅の座標
w - この弧が一部を構成する楕円の幅
h - この弧が一部を構成する楕円の高さ
angSt - 弧の始角 (度単位)
angExt - 弧の角の大きさ (度単位)
closure - 弧の閉じ方の種類 (OPENCHORD、または PIE)

setArc

public void setArc(Point2D loc,
                   Dimension2D size,
                   double angSt,
                   double angExt,
                   int closure)
この弧の位置、サイズ、角の大きさ、この弧の閉じ方の種類を、指定された値に設定します。
パラメータ:
loc - 弧の左上隅の座標を表す Point2D
size - この弧が一部を構成する楕円の幅および高さを表す Dimension2D
angSt - 弧の始角 (度単位)。倍精度で指定
angExt - 弧の角の大きさ (度単位)。倍精度で指定
closure - 弧の閉じ方の種類 (OPENCHORD、または PIE)

setArc

public void setArc(Rectangle2D rect,
                   double angSt,
                   double angExt,
                   int closure)
この弧の位置、サイズ、角の大きさ、閉じ方の種類を、指定された値に設定します。
パラメータ:
rect - この弧が一部を構成する楕円の外部境界を定義する境界の矩形
angSt - 弧の始角 (度単位)。倍精度で指定
angExt - 弧の角の大きさ (度単位)。倍精度で指定
closure - 弧の閉じ方の種類 (OPENCHORD、または PIE)

setArc

public void setArc(Arc2D a)
この弧を指定された弧と同じに設定します。
パラメータ:
a - 弧の値を設定するために使用する Arc2D

setArcByCenter

public void setArcByCenter(double x,
                           double y,
                           double radius,
                           double angSt,
                           double angExt,
                           int closure)
この弧の位置、境界、角の大きさ、閉じ方の種類を、指定された値に設定します。弧は、楕円のバウンディングボックスではなく、中心と半径に基づいて定義されます。
パラメータ:
x, y - 弧の中心の座標。倍精度で指定
radius - 弧の半径。倍精度で指定
angSt - 弧の始角 (度単位)。倍精度で指定
angExt - 弧の角の大きさ (度単位)。倍精度で指定
closure - 弧の閉じ方の種類 (OPENCHORD、または PIE)

setArcByTangent

public void setArcByTangent(Point2D p1,
                            Point2D p2,
                            Point2D p3,
                            double radius)
この弧の位置、境界、角の大きさを、指定された値に設定します。弧の始角の接線は点 (p1, p2) によって指定され、終角の接線は点 (p2, p3) によって指定されます。弧は、指定された半径を持ちます。
パラメータ:
p1 - 弧を定義する第 1 の点。弧の始角の接線は点 (p1, p2) で指定される
p2 - 弧を定義する第 2 の点。弧の始角の接線は点 (p1, p2) で指定される。弧の終角の接線は点 (p2, p3) で指定される
p3 - 弧を定義する第 3 の点。弧の終角の接線は点 (p2, p3) で指定される
radius - 弧の半径。倍精度で指定

setAngleStart

public abstract void setAngleStart(double angSt)
この弧の始角を、指定された double 値に設定します。
パラメータ:
angSt - 弧の始角 (度単位)

setAngleExtent

public abstract void setAngleExtent(double angExt)
この弧の角の大きさを、指定された double 値に設定します。
パラメータ:
angExt - 弧の角の大きさ (度単位)

setAngleStart

public void setAngleStart(Point2D p)
この弧の始角を、指定された点によりこの弧の中心を基準に定義される角度に設定します。弧の角の大きさに変更はありません。
パラメータ:
p - 始角を定義する Point2D

setAngles

public void setAngles(double x1,
                      double y1,
                      double x2,
                      double y2)
2 組の座標を使用して、この弧の始角および角の大きさを設定します。座標の第 1 の組は、弧の中心を基準に始点の角度を決めるために使用します。第 2 の組は、弧の中心を基準に終点の角度を決めるために使用します。弧は常に空ではなく、第 1 の点から第 2 の点へ反時計方向に伸びたものです。
パラメータ:
x1, y1 - 弧の始点の座標
x2, y2 - 弧の終点の座標

setAngles

public void setAngles(Point2D p1,
                      Point2D p2)
2 つの点を使用して、この弧の始角および角の大きさを設定します。第 1 の点は、弧の中心を基準に始点の角度を決めるために使用します。第 2 の点は、弧の中心を基準に終点の角度を決めるために使用します。弧は常に空ではなく、第 1 の点から第 2 の点へ反時計方向に伸びたものです。
パラメータ:
p1 - 弧の始点を定義する Point2D
p2 - 弧の終点を定義する Point2D

setArcType

public void setArcType(int type)
この弧の閉じ方の種類を、指定された値に設定します。値は、OPENCHORD、または PIE です。
パラメータ:
type - この弧の閉じ方の種類を表す整数型の定数 (OPENCHORD、または PIE)
例外:
IllegalArgumentException - type が 0、1、2 のどれでもない場合

setFrame

public void setFrame(double x,
                     double y,
                     double w,
                     double h)
この弧の外部境界の位置とサイズを、指定された値に設定します。
パラメータ:
x, y - 弧のバウンディングボックスの左上隅の座標。倍精度で指定
w - 弧のバウンディングボックスの幅。倍精度で指定
h - 弧のバウンディングボックスの高さ。倍精度で指定
オーバーライド:
クラス RectangularShape 内の setFrame

getBounds2D

public Rectangle2D getBounds2D()
弧の高精度バウンディングボックスを返します。
戻り値:
弧のバウンディングボックスを表す Rectangle2D

makeBounds

protected abstract Rectangle2D makeBounds(double x,
                                          double y,
                                          double w,
                                          double h)
この弧のバウンディングボックスになるように計算されたパラメータを格納するために、適切な精度の Rectangle2D を作成します。
パラメータ:
x, y - バウンディングボックスの左上隅の座標。倍精度で指定
w - バウンディングボックスの幅。倍精度で指定
h - バウンディングボックスの高さ。倍精度で指定

containsAngle

public boolean containsAngle(double angle)
指定された角度が弧の角の大きさと同じまたはそれより小さいかどうかを判定します。
パラメータ:
angle - 判定される角度。倍精度で指定
戻り値:
角度が弧に収まる場合は true、角度が弧に収まらない場合は false

contains

public boolean contains(double x,
                        double y)
指定された点が弧の境界内にあるかどうかを判定します。
パラメータ:
x, y - 判定される点の座標。倍精度で指定
戻り値:
点が弧の境界内にある場合は true、弧の境界の外にある場合は false

intersects

public boolean intersects(double x,
                          double y,
                          double w,
                          double h)
弧の内部が、指定された矩形の内部と交差するかどうかを判定します。
パラメータ:
x, y - 矩形の左上隅の座標。倍精度で指定
w - 矩形の幅。倍精度で指定
h - 矩形の高さ。倍精度で指定
戻り値:
弧が矩形と交差する場合は true、弧が矩形と交差しない場合は false

contains

public boolean contains(double x,
                        double y,
                        double w,
                        double h)
弧が、指定された矩形を内部に完全に包含しているかどうかを判定します。
パラメータ:
x, y - 矩形の左上隅の座標。倍精度で指定
w - 矩形の幅。倍精度で指定
h - 矩形の高さ。倍精度で指定
戻り値:
弧が矩形を包含している場合は true、弧が矩形を包含していない場合は false

contains

public boolean contains(Rectangle2D r)
弧が、指定された矩形を内部に完全に包含しているかどうかを判定します。
パラメータ:
r - 判定される Rectangle2D
戻り値:
弧が矩形を包含している場合は true、弧が矩形を包含していない場合は false
オーバーライド:
クラス RectangularShape 内の contains

getPathIterator

public PathIterator getPathIterator(AffineTransform at)
弧の境界を定義する繰り返しオブジェクトを返します。この反復子は、マルチスレッドに対して安全です。Arc2D は、弧のジオメトリへの変更が、そのジオメトリについてすでに進行中の繰り返し処理に影響を与えないことを保証します。
パラメータ:
at - 繰り返し処理で返されるときに座標に適用される任意の AffineTransform。座標の変換を希望しない場合は null
戻り値:
弧の境界を定義する PathIterator

Java プラットフォーム 1.2

バグや機能要求の報告
新しい javadoc の表示についてのコメントやご提案
Java は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-1998 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.