JavaTM 2 Platform
Standard Ed. 5.0

java.awt.geom
クラス Arc2D

java.lang.Object
  上位を拡張 java.awt.geom.RectangularShape
      上位を拡張 java.awt.geom.Arc2D
すべての実装されたインタフェース:
Shape, Cloneable
直系の既知のサブクラス:
Arc2D.Double, Arc2D.Float

public abstract class Arc2D
extends RectangularShape

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

境界の矩形はこの孤が一部を構成する楕円の外部境界を定義します。角度の広がりは、直角でない、境界の矩形を基準に指定し、楕円の中心から境界の矩形の右上隅までを結ぶ線が常に 45 度になるようにします。境界の矩形の軸の長さがかなり違う場合には、弧セグメントの開始角度と終了角度は境界の長軸にそってさらに傾斜します。

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


入れ子のクラスの概要
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 値
関連項目:
setAngleStart(double)

getAngleExtent

public abstract double getAngleExtent()
弧の角の大きさを返します。

戻り値:
弧の角の大きさを度単位で表す double 値
関連項目:
setAngleExtent(double)

getArcType

public int getArcType()
弧の閉じ方の種類 OPENCHORD、または PIE を返します。

戻り値:
このクラスで定義されている閉じ方の種類を表す整数型定数の 1 つ
関連項目:
setArcType(int)

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 - 弧の始角 (度単位)
関連項目:
getAngleStart()

setAngleExtent

public abstract void setAngleExtent(double angExt)
この弧の角の大きさを、指定された double 値に設定します。

パラメータ:
angExt - 弧の角の大きさ (度単位)
関連項目:
getAngleExtent()

setAngleStart

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

パラメータ:
p - 始角を定義する Point2D
関連項目:
getAngleStart()

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.+ のどれでもない場合
関連項目:
getArcType()

setFrame

public void setFrame(double x,
                     double y,
                     double w,
                     double h)
この弧の外部境界の位置とサイズを、指定された値に設定します。

定義:
クラス RectangularShape 内の setFrame
パラメータ:
x, y - 弧のバウンディングボックスの左上隅の座標。倍精度で指定
w - 弧のバウンディングボックスの幅。倍精度で指定
h - 弧のバウンディングボックスの高さ。倍精度で指定
関連項目:
RectangularShape.getFrame()

getBounds2D

public Rectangle2D getBounds2D()
孤の高精度バウンディングボックスを返します。この Arc2D の閉じ方の種類が PIE の場合、バウンディングボックスには、始角と終角の間にある Arc2D の一部のみとパイウエッジ (pie wedge) が包含されます。

このメソッドは getBoundsとは異なります。getBounds メソッドは、この Arc2D の楕円を囲む境界のみを返し、Arc2D の楕円の始角と終角は考慮しません。

戻り値:
弧のバウンディングボックスを表す Rectangle2D
関連項目:
Shape.getBounds()

makeBounds

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

パラメータ:
x, y - バウンディングボックスの左上隅の座標。倍精度で指定
w - バウンディングボックスの幅。倍精度で指定
h - バウンディングボックスの高さ。倍精度で指定
戻り値:
この弧のバウンディングボックスである Rectangle2D

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
関連項目:
Area

contains

public boolean contains(double x,
                        double y,
                        double w,
                        double h)
弧が、指定された矩形を内部に完全に包含しているかどうかを判定します。

パラメータ:
x, y - 矩形の左上隅の座標。倍精度で指定
w - 矩形の幅。倍精度で指定
h - 矩形の高さ。倍精度で指定
戻り値:
弧が矩形を包含している場合は true、弧が矩形を包含していない場合は false
関連項目:
Area, Shape.intersects(double, double, double, double)

contains

public boolean contains(Rectangle2D r)
弧が、指定された矩形を内部に完全に包含しているかどうかを判定します。

定義:
インタフェース Shape 内の contains
オーバーライド:
クラス RectangularShape 内の contains
パラメータ:
r - 判定される Rectangle2D
戻り値:
弧が矩形を包含している場合は true、弧が矩形を包含していない場合は false
関連項目:
Shape.contains(double, double, double, double)

getPathIterator

public PathIterator getPathIterator(AffineTransform at)
孤の境界を定義する繰り返しオブジェクトを返します。このクラスの反復子は、マルチスレッドに対して安全です。Arc2D は、孤のジオメトリに対する変更が、このジオメトリについてすでに進行中の繰り返し処理に影響を与えないことを保証します。

パラメータ:
at - 繰り返し処理で返されるときに座標に適用される任意の AffineTransform。座標の変換を希望しない場合は null
戻り値:
弧の境界を定義する PathIterator

JavaTM 2 Platform
Standard Ed. 5.0

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java 2 SDK SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。