Javafx-2dshapes-types-of-arc

提供:Dev Guides
移動先:案内検索

JavaFX-アークの2D形状タイプ

JavaFXでは、次の3種類の弧を描くことができます-

  • オープン-まったく閉じていないアークはオープンアークと呼ばれます。
  • コード-コードは、直線で閉じられている円弧の一種です。
  • ラウンド-ラウンドアークは、始点と終点を楕円の中心に結合することにより閉じられるアークです。

Open Closed Round

メソッド* setType()を使用してアークのタイプを設定するには、次のプロパティのいずれかを渡します- *ArcType.OPEN、ArcType.CHORD、ArcType.Round

弧を描く手順

JavaFXで弧を描くには、次の手順に従います。

ステップ1:クラスを作成する

Javaクラスを作成し、パッケージ javafx.applicationApplication クラスを継承し、このクラスの* 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ウィンドウを生成します。

アークの描画