Javafx-2dshapes-types-of-arc
JavaFX-アークの2D形状タイプ
JavaFXでは、次の3種類の弧を描くことができます-
- オープン-まったく閉じていないアークはオープンアークと呼ばれます。
- コード-コードは、直線で閉じられている円弧の一種です。
- ラウンド-ラウンドアークは、始点と終点を楕円の中心に結合することにより閉じられるアークです。
メソッド* setType()を使用してアークのタイプを設定するには、次のプロパティのいずれかを渡します- *ArcType.OPEN、ArcType.CHORD、ArcType.Round 。
弧を描く手順
JavaFXで弧を描くには、次の手順に従います。
ステップ1:クラスを作成する
Javaクラスを作成し、パッケージ javafx.application の Application クラスを継承し、このクラスの* start()*メソッドを次のように実装します。
public class ClassName extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
}
}
ステップ2:アークの作成
パッケージ javafx.scene.shape に属する Arc という名前のクラスをインスタンス化することにより、JavaFXでアークを作成できます。 以下に示すように、このクラスをインスタンス化できます。
//Creating an object of the class Arc
Arc arc = new Arc();
ステップ3:プロパティをアークに設定する
楕円の中心(この円弧の一部)のx、y座標を指定します。 これらの座標には、次のコードブロックに示すように、それぞれのセッターメソッドを使用して、radiusX、radiusY、弧の開始角度、長さが含まれます。
また、* setType()*メソッドを使用して、アークのタイプ(ラウンド、コードオープン)を設定することもできます。
//Setting the properties of the arc
arc.setCenterX(300.0f);
arc.setCenterY(150.0f);
arc.setRadiusX(90.0f);
arc.setRadiusY(90.0f);
arc.setStartAngle(40.0f);
arc.setLength(239.0f);
arc.setType(ArcType.ROUND);
ステップ4:アークのタイプを設定する
次のコードブロックに示すように、メソッド* setType()*を使用してアークのタイプを設定できます。
//Setting the type of the arc
arc.setType(ArcType.ROUND);
ステップ5:グループオブジェクトの作成
- start()メソッドで、パッケージ *javafx.scene に属する Group という名前のクラスをインスタンス化して、グループオブジェクトを作成します。
前の手順で作成したArc(ノード)オブジェクトをパラメーターとしてGroupクラスのコンストラクターに渡します。 これは、以下に示すようにグループに追加するために行う必要があります-
Group root = new Group(arc);
ステップ6:シーンオブジェクトの作成
パッケージ javafx.scene に属する Scene という名前のクラスをインスタンス化して、シーンを作成します。 このクラスに、前の手順で作成したGroupオブジェクト*(root)*を渡します。
ルートオブジェクトに加えて、画面の高さと幅を表す2つのdoubleパラメーターを、Groupクラスのオブジェクトとともに次のように渡すこともできます。
Scene scene = new Scene(group ,600, 300);
ステップ7:ステージのタイトルを設定する
Stageクラス*の* setTitle()メソッドを使用して、ステージにタイトルを設定できます。 *primaryStage は、シーンクラスのstartメソッドにパラメーターとして渡されるStageオブジェクトです。
*primaryStage* オブジェクトを使用して、シーンのタイトルを次のように *Sample Application* として設定します。
primaryStage.setTitle("Sample Application");
ステップ8:シーンをステージに追加する
*Stage* という名前のクラスの* setScene()*メソッドを使用して、Sceneオブジェクトをステージに追加できます。 この方法を使用して、前の手順で準備したSceneオブジェクトを次のように追加します。
primaryStage.setScene(scene);
ステップ9:ステージのコンテンツを表示する
次のように Stage クラスの* show()*という名前のメソッドを使用して、シーンのコンテンツを表示します。
primaryStage.show();
ステップ10:アプリケーションの起動
次のように、メインメソッドから Application クラスのlaunch()静的メソッドを呼び出して、JavaFXアプリケーションを起動します。
public static void main(String args[]){
launch(args);
}
例
以下は、アークを生成するプログラムです。 このコードを ArcExample.java という名前のファイルに保存します。
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.stage.Stage;
import javafx.scene.shape.Arc;
import javafx.scene.shape.ArcType;
public class ArcExample extends Application {
@Override
public void start(Stage stage) {
//Drawing an arc
Arc arc = new Arc();
//Setting the properties of the arc
arc.setCenterX(300.0f);
arc.setCenterY(150.0f);
arc.setRadiusX(90.0f);
arc.setRadiusY(90.0f);
arc.setStartAngle(40.0f);
arc.setLength(239.0f);
//Setting the type of the arc
arc.setType(ArcType.ROUND);
//Creating a Group object
Group root = new Group(arc);
//Creating a scene object
Scene scene = new Scene(root, 600, 300);
//Setting title to the Stage
stage.setTitle("Drawing an Arc");
//Adding scene to the stage
stage.setScene(scene);
//Displaying the contents of the stage
stage.show();
}
public static void main(String args[]){
launch(args);
}
}
次のコマンドを使用して、コマンドプロンプトから保存したJavaファイルをコンパイルして実行します。
javac ArcExample.java
java ArcExample
実行すると、上記のプログラムは、次のスクリーンショットに示すような弧を表示するJavaFXウィンドウを生成します。