Javafx-2dshapes-polygon

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

JavaFX-2Dシェイプポリゴン

端と端をつなぐ多数の共面線分によって形成される閉じた形状。

多角形は、2つのパラメーター、つまり、辺の長さと内角の測定値によって記述されます。

ポリゴン

JavaFXでは、ポリゴンは Polygon という名前のクラスで表されます。 このクラスは、パッケージ* javafx.scene.shape。*に属します

このクラスをインスタンス化することにより、JavaFXでポリゴンノードを作成できます。 ポリゴンを二重配列の形式で定義するポイントのx、y座標を渡す必要があります。

以下に示すように、このクラスのコンストラクタのパラメータとして二重配列を渡すことができます-

Polygon polygon = new Polygon(doubleArray);

または、次のように* getPoints()*メソッドを使用して-

polygon.getPoints().addAll(new Double[]{ List of XY coordinates separated by commas });

ポリゴンを描画する手順

JavaFXでポリゴンを描画するには、以下の手順に従います。

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

Javaクラスを作成し、パッケージ javafx.applicationApplication クラスを継承し、次のようにこのクラスの* start()*メソッドを実装します

public class ClassName extends Application {
   @Override
   public void start(Stage primaryStage) throws Exception {
   }
}

ステップ2:ポリゴンの作成

パッケージ javafx.scene.shape に属する Polygon というクラスをインスタンス化することにより、JavaFXでポリゴンを作成できます。 このクラスを次のようにインスタンス化できます。

//Creating an object of the class Polygon
Polygon hexagon = new Polygon();

ステップ3:プロパティをポリゴンに設定する

次のように Polygon クラスの* getPoints()*メソッドを使用して、カンマで区切られた必要なポリゴン(この例では六角形)のポイントのXY座標を保持するdouble配列を指定します。

//Adding coordinates to the hexagon
hexagon.getPoints().addAll(new Double[]{
   200.0, 50.0,
   400.0, 50.0,
   450.0, 150.0,
   400.0, 250.0,
   200.0, 250.0,
   150.0, 150.0,
})

ステップ4:グループオブジェクトの作成

  • start()メソッドで、パッケージ *javafx.scene に属する Group という名前のクラスをインスタンス化して、グループオブジェクトを作成します。

次のようにグループに追加するために、前の手順で作成したポリゴンノード(六角形)オブジェクトをパラメーターとしてGroupクラスのコンストラクターに渡します-

Group root = new Group(hexagon);

ステップ5:シーンオブジェクトの作成

パッケージjavafx.sceneに属する Scene という名前のクラスをインスタンス化して、シーンを作成します。 このクラスに、前の手順で作成したGroupオブジェクト*(root)*を渡します。

Scene scene = new Scene(group ,600, 300);

ステップ6:ステージのタイトルを設定する

*Stage* クラスの* setTitle()*メソッドを使用して、ステージにタイトルを設定できます。 *primaryStage* は、シーンクラスのstartメソッドにパラメーターとして渡されるStageオブジェクトです。
*primaryStage* オブジェクトを使用して、シーンのタイトルを次のように *Sample Application* として設定します。
primaryStage.setTitle("Sample Application");

ステップ7:シーンをステージに追加する

*Stage* という名前のクラスの* setScene()*メソッドを使用して、Sceneオブジェクトをステージに追加できます。 以下に示す方法を使用して、前の手順で準備したSceneオブジェクトを追加します。
primaryStage.setScene(scene);

ステップ8:ステージのコンテンツを表示する

次のように、Stageクラスのshow()という名前のメソッドを使用して、シーンのコンテンツを表示します。

primaryStage.show();

ステップ9:アプリケーションの起動

次のように、メインメソッドから Application クラスの* launch()*静的メソッドを呼び出して、JavaFXアプリケーションを起動します。

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

以下は、JavaFXを使用してポリゴン(六角形)を生成するプログラムです。 このコードを PolygonExample.java という名前のファイルに保存します。

import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.shape.Polygon;
import javafx.stage.Stage;

public class PolygonExample extends Application {
   @Override
   public void start(Stage stage) {
     //Creating a Polygon
      Polygon polygon = new Polygon();

     //Adding coordinates to the polygon
      polygon.getPoints().addAll(new Double[]{
         300.0, 50.0,
         450.0, 150.0,
         300.0, 250.0,
         150.0, 150.0,
      });

     //Creating a Group object
      Group root = new Group(polygon);

     //Creating a scene object
      Scene scene = new Scene(root, 600, 300);

     //Setting title to the Stage
      stage.setTitle("Drawing a Polygon");

     //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 PolygonExample.java
java PolygonExample

実行時に、上記のプログラムは、以下に示すようなポリゴンを表示するJavaFXウィンドウを生成します。

ポリゴンの描画