top / index / prev / next / target / source

2012-09-20 diary: [JavaFX] Canvas GraphicsContext 線の描画【Canvas と GC をもちいたレンダリング】

いがぴょんの日記 日記形式でつづる いがぴょんコラム ウェブページです。

[JavaFX] Canvas GraphicsContext 線の描画【Canvas と GC をもちいたレンダリング】

JavaFX 2 には、いくつかの図の描画用 API があります。ここで示すのは、GC をもちいたレンダリング機能を提供してくれる API を用いた描画の例です。 Java7u7 以降であれば、Java/jre/lib 以下の「jfxrt.jar」を参照ライブラリーに追加するだけで、以下の JavaFX 2 プログラムをコンパイルすることができます。(実行時には特に設定などは必要ありません)

Eclipse の場合には「外部 JAR の追加」により、JRE 以下の「jfxrt.jar」を選択して追加します。

<sample/Sample001.java>

package sample;

import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.canvas.Canvas;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.paint.Color;
import javafx.stage.Stage;

/**
 * 線を引く JavaFX 2 サンプル 【Canvas と GC をもちいたレンダリング】
 */
public class Sample001 extends Application {
  @Override
  public void start(final Stage primaryStage) {
    primaryStage.setTitle("Draw test by GC");

    final Group root = new Group();
    final Canvas canvas = new Canvas(200, 200);

    {
      final GraphicsContext gc = canvas.getGraphicsContext2D();
      gc.setStroke(Color.RED);
      gc.setLineWidth(3);
      gc.strokeLine(5, 195, 195, 5);
    }

    {
      final GraphicsContext gc = canvas.getGraphicsContext2D();
      gc.setStroke(Color.YELLOWGREEN);
      gc.setLineWidth(3);
      gc.strokeLine(5, 5, 195, 195);
    }

    root.getChildren().add(canvas);
    primaryStage.setScene(new Scene(root, 200, 200));
    primaryStage.show();
  }

  public static void main(final String[] args) {
    launch(args);
  }
}

登場キーワード


この日記について