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

JavaFXで円弧(Arc)を作成する方法を徹底解説

一般的に、円弧(アーク)とは曲線の一部を切り取った小さなセグメントのことを指します。JavaFXでは、この円弧は javafx.scene.shape.Arc クラスによって表現されます。

Arcクラスには、円弧の形状や位置を決定するための6つの主要なプロパティが用意されています。それぞれのプロパティと対応するセッターメソッドを見ていきましょう。

Arcクラスの6つのプロパティ

  • centerX − 円弧の中心点のX座標を表します。setCenterX() メソッドで値を設定できます。
  • centerY − 円弧の中心点のY座標を表します。setCenterY() メソッドで値を設定できます。
  • radiusX − この円弧が属する楕円全体の幅(横方向の半径)を表します。setRadiusX() メソッドで値を設定できます。
  • radiusY − この円弧が属する楕円全体の高さ(縦方向の半径)を表します。setRadiusY() メソッドで値を設定できます。
  • startAngle − 円弧の開始角度を度数法(単位:degree)で表します。setStartAngle() メソッドで値を設定できます。
  • length − 円弧の角の広がり(角度範囲)を度数法で表します。setLength() メソッドで値を設定できます。

なお、これらのプロパティはコンストラクタに引数として渡すことでも設定可能です。また、setType() メソッドで ArcType(OPEN / CHORD / ROUND)を指定すると、円弧の閉じ方を制御できます。

JavaFXで円弧を作成する手順

円弧を作成するには、以下の手順を実行します。

  1. Arcクラスをインスタンス化する。
  2. セッターメソッドまたはコンストラクタの引数を使って、必要なプロパティ(centerX、centerY、radiusX、radiusY、startAngle、lengthなど)を設定する。
  3. 作成したノード(図形)をGroupオブジェクトに追加し、Sceneに登録して表示する。

サンプルコード

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.Arc;
import javafx.scene.shape.ArcType;

public class DrawingArc extends Application {
    public void start(Stage stage) {
        // 円弧を描画
        Arc arc = new Arc();
        // 円弧のプロパティを設定
        arc.setCenterX(280);
        arc.setCenterY(230);
        arc.setRadiusX(100);
        arc.setRadiusY(180);
        arc.setStartAngle(45);
        arc.setLength(100);
        arc.setType(ArcType.ROUND);
        // その他のスタイルを設定
        arc.setFill(Color.CHOCOLATE);
        arc.setStrokeWidth(8.0);
        arc.setStroke(Color.BROWN);
        // Sceneオブジェクトを設定
        Group root = new Group(arc);
        Scene scene = new Scene(root, 595, 300, Color.BEIGE);
        stage.setTitle("Drawing arc");
        stage.setScene(scene);
        stage.show();
    }
    public static void main(String args[]) {
        launch(args);
    }
}

実行結果

上記のコードをコンパイルして実行すると、中心座標 (280, 230) を基準に、開始角度45度から100度分の広がりを持つチョコレート色の塗りつぶし円弧がウィンドウ上に表示されます。

JavaFXで円弧(Arc)を作成する方法を徹底解説

このように、Arcクラスのプロパティを組み合わせることで、楕円の一部として様々な形の円弧を自由に描画できます。startAngleやlengthの値を変えることで、扇形(ArcType.ROUND)、弦型(CHORD)、開いた曲線(OPEN)など、用途に応じた図形を簡単に作成できるので、ぜひ実際に値を変更しながら試してみてください。

  1. JavaFXでスライダー(Slider)を作成する方法をわかりやすく解説

    JavaFXのSliderクラスとはJavaFXには、Sliderと呼ばれるクラスが標準で用意されています。このクラスは、連続的な範囲の値を表示・選択できるスライダーコンポーネントを表します。スライダーは、数値が表示される「トラック」と、その上を移動して値を指し示す「つまみ(サム)」で構成されています。コンストラクタやプロパティを通じて、スライダーの最大値・最小値・初期値を自由に指定することが可能です。スライダーの作成手順JavaFXでスライダーを作成する基本の手順は以下の通りです。Sliderクラスをインスタンス化する — 最小値・最大値・初期値を引数に指定できます。必要なプロパティを設定す

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

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