Java
 Computer >> コンピューター >  >> プログラミング >> Java

JavaFXのパス要素で2次曲線(QuadCurveTo)を描画する方法

QuadCurveToクラスは、パス要素のひとつである2次曲線(Quadratic Curve)を表します。このクラスを使うと、現在の座標から指定した新しい座標へ向かって、制御点を基準に滑らかな2次ベジェ曲線を描画できます。

QuadCurveToクラスの主なプロパティ

  • x / y:曲線の終点となる座標を指定します。
  • controlX / controlY:制御点の座標を指定します。この点の位置によって曲線の弯び方(カーブの形状)が決まります。

2次曲線パス要素の作成手順

  1. QuadCurveToクラスをインスタンス化します。
  2. セッターメソッドを使うか、コンストラクタに引数を渡して、各プロパティに値を設定します。
  3. Pathクラスをインスタンス化します。
  4. getElements()メソッドで、作成したPathの要素リスト(ObservableList)を取得します。
  5. add()メソッドを使って、QuadCurveToオブジェクトをリストに追加します。
  6. 最後に、パスを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.LineTo;
import javafx.scene.shape.MoveTo;
import javafx.scene.shape.Path;
import javafx.scene.shape.QuadCurveTo;
import javafx.scene.shape.VLineTo;

public class QuadraticCurveToExample extends Application {
    public void start(Stage stage) {
        // パス要素オブジェクトの作成
        MoveTo moveTo = new MoveTo(15, 15);
        LineTo line1 = new LineTo(100, 150);

        // QuadCurveToクラスのインスタンス化
        QuadCurveTo quadCurveTo = new QuadCurveTo();

        // QuadCurveToクラスのプロパティ設定
        quadCurveTo.setX(500.0f);
        quadCurveTo.setY(220.0f);
        quadCurveTo.setControlX(250.0f);
        quadCurveTo.setControlY(0.0f);

        // VLineToオブジェクトの作成
        VLineTo vLine = new VLineTo();
        vLine.setY(80);

        // パスの作成と要素の追加
        Path path = new Path();
        path.getElements().addAll(moveTo, line1, quadCurveTo, vLine);

        // 線の太さや色などのプロパティを設定
        path.setStrokeWidth(8.0);
        path.setStroke(Color.DARKSLATEGREY);

        // Stageオブジェクトの準備
        Group root = new Group(path);
        Scene scene = new Scene(root, 595, 300, Color.BEIGE);
        stage.setTitle("JavaFX Example");
        stage.setScene(scene);
        stage.show();
    }

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

実行結果

上記のコードをコンパイルして実行すると、直線と2次曲線、垂直線が連なったパスが描画されたウィンドウが表示されます。

JavaFXのパス要素で2次曲線(QuadCurveTo)を描画する方法

  1. 【JavaFX】2つのつまみを持つスライダー(RangeSlider)を作成する方法

    スライダーとは、連続した値の範囲を視覚的に表示するためのUIコンポーネントです。トラック上には数値が表示されており、その値を指し示す「つまみ(サム)」がトラックに沿って移動します。スライダーには最大値・最小値・初期値を自由に設定することができます。 標準のJavaFXスライダーの限界 JavaFXが標準で提供するスライダーには、つまみは1つしかありません。最小値と最大値の両方を選択できる「2つのつまみを持つスライダー」を作成したい場合は、外部ライブラリである org.controlsfx.control を利用する必要があります。 手順1:Maven依存関係を追加する このライブラリを使用す

  2. Tkinterのfiledialogでファイルパス(初期ディレクトリ)を指定する方法

    Tkinterには、アプリケーションのUIコンポーネントやユーザー操作用の要素を構築するための組み込み関数やクラスライブラリが数多く用意されています。その中でもfiledialogモジュールは、ファイルやディレクトリを選択するウィンドウを作成するためのクラスと関数を提供しています。ユーザーにシステム上のファイルやフォルダをブラウズしてもらいたい場面で非常に便利です。 さらに、ファイルを選択させるときの起点となるディレクトリの場所を指定することもできます。特定の場所から始まるファイルダイアログを表示するには、静的ファクトリ関数askopenfilename(initialdir=<loc