Javafx-2dshapes-polyline
JavaFX-2Dシェイプポリライン
ポリラインは、ポリラインが最後に閉じられていないことを除いて、ポリゴンと同じです。 または、1つ以上の線分で構成される連続線。
要するに、ポリゴンは同一平面上の線分によって形成された開いた図形であると言えます。
n JavaFX、ポリラインは Polygon という名前のクラスで表されます。 このクラスは、パッケージ* javafx.scene.shape。*に属します。
このクラスをインスタンス化することにより、JavaFXでポリラインノードを作成できます。 ポリラインを二重配列の形式で定義するポイントのx、y座標を渡す必要があります。
以下に示すように、このクラスのコンストラクタのパラメータとして二重配列を渡すことができます-
Polyline polyline = new Polyline(doubleArray);
または、次のように* getPoints()*メソッドを使用して-
polyline.getPoints().addAll(new Double[]{List of XY coordinates separated by commas });
ポリラインを描画する手順
JavaFXでポリラインを描画するには、以下の手順に従います。
ステップ1:クラスを作成する
Javaクラスを作成し、パッケージ javafx.application の Application クラスを継承し、このクラスの* start()*メソッドを次のように実装します。
public class ClassName extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
}
}
ステップ2:ポリラインを作成する
パッケージ javafx.scene.shape に属する Line という名前のクラスをインスタンス化することにより、JavaFXで行を作成できます。 このクラスを次のようにインスタンス化できます。
//Creating an object of the class Polyline
Polyline polyline = new Polyline();
手順3:プロパティをポリラインに設定する
コンマで区切られた必要なポリライン(この例では六角形)のポイントのXY座標を保持する二重配列を指定します。 これを行うには、次のコードブロックに示すように、 Polyline クラスの* getPoints()*メソッドを使用します。
//Adding coordinates to the hexagon
polyline.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というクラスをインスタンス化して、グループオブジェクトを作成します。
前の手順で作成した Polyline (ノード)オブジェクトをパラメーターとしてGroupクラスのコンストラクターに渡し、次のようにグループに追加します-
Group root = new Group(polyline);
ステップ5:シーンオブジェクトの作成
パッケージ javafx.scene に属する Scene という名前のクラスをインスタンス化して、シーンを作成します。 このクラスに、前の手順で作成されたGroupオブジェクト*(root)*を渡します。
ルートオブジェクトに加えて、画面の高さと幅を表す2つのdoubleパラメーターを、Groupクラスのオブジェクトとともに次のように渡すこともできます。
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を使用してポリラインを生成するプログラムです。 このコードを PolylineExample.java という名前のファイルに保存します。
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.stage.Stage;
import javafx.scene.shape.Polyline
public class PolylineExample extends Application {
@Override
public void start(Stage stage) {
//Creating a polyline
Polyline polyline = new Polyline();
//Adding coordinates to the polygon
polyline.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,
});
//Creating a Group object
Group root = new Group(polyline);
//Creating a scene object
Scene scene = new Scene(root, 600, 300);
//Setting title to the Stage
stage.setTitle("Drawing a Polyline");
//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 PolylineExample.java
java PolylineExample
上記のプログラムは、実行時に、以下に示すようなポリラインを表示するJavaFXウィンドウを生成します。