QuadCurve2D でカーブを描く

JDK1.2 の新機能の Graphic2D によるレンダリング機能の実験です。 このページで紹介するソースのコンパイルと実行には JDK1.2Beta が必要です。

JDK1.2 から曲線を描くためのクラスが提供されています。 ここでは java.awt.geom.QuadCurve2D を使ってみましょう。 ソースの基本部分は次のようになります。


/** 描画メソッド */

  public void paint( Graphics g ) {

       Point2D.Float start, control, end;
                      :
                      :
       QuadCurve2D.Float curve = new QuadCurve2D.Float(
         start.x, start.y, control.x, control.y, end.x, end.y );
       ((Graphics2D)g).draw( curve );
  }

新しいクラスについて簡単に解説しておきましょう。

サンプルのソース( QuadCurve2DTest.java )

実行例の赤い小円がコントロールのための点です。 このサンプルでは、この点をマウスのドラッグ操作で移動できるようにしてみました。