JavaFXでQuadCurve(2次ベジェ曲線)を作成・描画する方法
2次曲線(クアドラティックカーブ)とは、XY平面上に描かれる次数2のベジェパラメトリック曲線のことです。
JavaFXでは、2次曲線はjavafx.scene.shape.QuadCurveクラスによって表現されます。CubicCurve(3次曲線)とよく似ていますが、制御点が2つではなく1つだけ使用される点が大きな違いです。
QuadCurveクラスの6つのプロパティ
QuadCurveクラスには、曲線の形状を決定するために以下の6つのプロパティが用意されています。
- startX ― 曲線の始点のX座標を表します。setStartX()メソッドで値を設定できます。
- startY ― 曲線の始点のY座標を表します。setStartY()メソッドで値を設定できます。
- controlX ― 曲線の制御点のX座標を表します。setControlX()メソッドで値を設定できます。
- controlY ― 曲線の制御点のY座標を表します。setControlY()メソッドで値を設定できます。
- endX ― 曲線の終点のX座標を表します。setEndX()メソッドで値を設定できます。
- endY ― 曲線の終点のY座標を表します。setEndY()メソッドで値を設定できます。
2次曲線を作成する手順
JavaFXで2次曲線を描くには、以下の手順に従います。
- QuadCurveクラスのインスタンスを生成します。
- セッターメソッドを使用するか、コンストラクタの引数として値を渡して、必要なプロパティを設定します。
- 作成したノード(図形)をGroupオブジェクトに追加します。
サンプルコード
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
import javafx.scene.shape.QuadCurve;
public class DrawingQuadCurve extends Application {
@Override
public void start(Stage stage) {
// 2次曲線を描画
QuadCurve quadraticCurve = new QuadCurve();
// 各プロパティを設定
quadraticCurve.setStartX(75.0f);
quadraticCurve.setStartY(75.0f);
quadraticCurve.setControlX(250.0f);
quadraticCurve.setControlY(250.0f);
quadraticCurve.setEndX(500.0f);
quadraticCurve.setEndY(260.0f);
// 塗りつぶし色や線のスタイルを設定
quadraticCurve.setFill(Color.CHOCOLATE);
quadraticCurve.setStrokeWidth(8.0);
quadraticCurve.setStroke(Color.BROWN);
// シーンの作成と表示
Group root = new Group(quadraticCurve);
Scene scene = new Scene(root, 595, 300);
stage.setTitle("Drawing a quadratic curve");
stage.setScene(scene);
stage.show();
}
public static void main(String args[]) {
launch(args);
}
}
実行結果
上記のコードを実行すると、指定した始点・制御点・終点をもとに、チョコレート色で塗りつぶされ茶色の輪郭線を持つ2次曲線がウィンドウ上に表示されます。

-
JavaFXでスライダー(Slider)を作成する方法をわかりやすく解説
JavaFXのSliderクラスとはJavaFXには、Sliderと呼ばれるクラスが標準で用意されています。このクラスは、連続的な範囲の値を表示・選択できるスライダーコンポーネントを表します。スライダーは、数値が表示される「トラック」と、その上を移動して値を指し示す「つまみ(サム)」で構成されています。コンストラクタやプロパティを通じて、スライダーの最大値・最小値・初期値を自由に指定することが可能です。スライダーの作成手順JavaFXでスライダーを作成する基本の手順は以下の通りです。Sliderクラスをインスタンス化する — 最小値・最大値・初期値を引数に指定できます。必要なプロパティを設定す
-
Javaでディレクトリ階層を作成する方法|mkdirs()メソッドの使い方を解説
java.ioパッケージに含まれるFileクラスは、システム上のファイルやディレクトリ(パス名)を表現するためのクラスです。このクラスには、ファイルやディレクトリに対してさまざまな操作を行うためのメソッドが数多く用意されています。 mkdir()メソッドを使用すると、現在のFileオブジェクトが表すパスにディレクトリを1つ作成できます。ただし、このメソッドは親ディレクトリが存在しない場合には失敗するという点に注意が必要です。 ディレクトリ階層を作成するには? 複数階層からなる新しいディレクトリ構造を一括で作成したい場合は、同じFileクラスのmkdirs()メソッドを使用します。このメソッドは