JavaFXで幾何学的な2D図形を描画する方法をわかりやすく解説
一般的に、2D図形(二次元形状)とはXY平面上に描くことができる幾何学的な図形を指し、直線(Line)、長方形(Rectangle)、円(Circle)などが含まれます。
javafx.scene.shape パッケージには多数のクラスが用意されており、それぞれが2Dの幾何学オブジェクト、あるいはそれらに対する操作を表現・定義しています。中でも Shape クラスは、JavaFXにおけるすべての2D図形の基底クラス(スーパークラス)です。
Shapeクラスを継承する主な図形クラスには、Line(直線)、Rectangle(長方形)、Circle(円)、Ellipse(楕円)、Polygon(多角形)、Arc(弧)などがあり、これらを組み合わせることで多彩なグラフィックスを描画できます。
2D図形を作成する手順
JavaFXで2Dの幾何学的図形を描画するには、以下の3つのステップが必要です。
1. 対応するクラスのインスタンス化
まず、描画したい図形に対応するクラスをインスタンス化します。例えば、円を描きたい場合は Circle クラスを次のように生成します。
// 円を描く Circle circle = new Circle();
2. プロパティの設定
次に、各図形クラスが持つセッターメソッドを使って、図形のプロパティを設定します。例えば、円を描くには中心座標と半径が必要です。これらは setCenterX()、setCenterY()、setRadius() メソッドでそれぞれ指定できます。
// 円のプロパティを設定 circle.setCenterX(300.0f); circle.setCenterY(135.0f); circle.setRadius(100.0f);
3. 図形オブジェクトをグループに追加
最後に、作成した図形オブジェクトを Group クラスのコンストラクタに引数として渡します。これにより、図形がシーングラフに追加され、画面に表示されるようになります。
Group root = new Group(circle);
サンプルコード
ここまでの手順を実際のコードにまとめると、以下のようになります。このプログラムを実行すると、ウィンドウ上に円が描画されます。
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.stage.Stage;
import javafx.scene.shape.Circle;
public class CircleExample extends Application {
public void start(Stage stage) {
// 円を描く
Circle circle = new Circle();
// 円のプロパティを設定
circle.setCenterX(300.0f);
circle.setCenterY(135.0f);
circle.setRadius(100.0f);
// Groupオブジェクトを作成
Group root = new Group(circle);
// Sceneオブジェクトを作成
Scene scene = new Scene(root, 600, 300);
// Stageにタイトルを設定
stage.setTitle("Drawing a Circle");
// StageにSceneを追加
stage.setScene(scene);
// Stageの内容を表示
stage.show();
}
public static void main(String args[]) {
launch(args);
}
}実行結果
上記のコードをコンパイルして実行すると、幅600ピクセル・高さ300ピクセルのウィンドウが開き、中央付近に半径100ピクセルの円が表示されます。

このように、JavaFXでは「インスタンス化 → プロパティ設定 → グループへの追加」というシンプルな流れで、任意の2D図形を簡単に描画できます。他の図形クラスも同じ手順で利用できるので、ぜひ various な図形を試してみてください。
-
JavaFXでスライダー(Slider)を作成する方法をわかりやすく解説
JavaFXのSliderクラスとはJavaFXには、Sliderと呼ばれるクラスが標準で用意されています。このクラスは、連続的な範囲の値を表示・選択できるスライダーコンポーネントを表します。スライダーは、数値が表示される「トラック」と、その上を移動して値を指し示す「つまみ(サム)」で構成されています。コンストラクタやプロパティを通じて、スライダーの最大値・最小値・初期値を自由に指定することが可能です。スライダーの作成手順JavaFXでスライダーを作成する基本の手順は以下の通りです。Sliderクラスをインスタンス化する — 最小値・最大値・初期値を引数に指定できます。必要なプロパティを設定す
-
JavaとOpenCVで円を描画する方法を徹底解説
Java版OpenCVライブラリの org.opencv.imgproc パッケージには、Imgproc というクラスが含まれています。画像に円を描きたい場合は、このクラスが提供する circle() メソッドを呼び出します。このメソッドは以下のパラメータを受け取ります。Matオブジェクト:円を描画する対象となる画像を表します。Pointオブジェクト:円の中心座標を表します。int型の値:円の半径を表します。Scalarオブジェクト:円の色を表します。OpenCVでは色の指定順序がRGBではなくBGR(青・緑・赤)である点に注意してください。int型の値:円の輪郭線の太さを表します。デフォルト