Javafx-2dshapes-line

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

JavaFX-2Dシェイプライン

一般に、ラインはXY平面上の2つのポイントを結合する幾何学的構造です。

ライン

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

このクラスをインスタンス化することにより、JavaFXでラインノードを作成できます。

このクラスには、doubleデータ型の4つのプロパティがあります-

  • startX -線の始点のx座標。
  • startY -線の始点のy座標。
  • endX -線の終点のx座標。
  • endY -線の終点のy座標。

線を描画するには、これらのプロパティに値を渡す必要があります。次のように、インスタンス化時に同じ順序でこのクラスのコンストラクタに値を渡すか、

Line line = new Line(startX, startY, endX, endY);

または、次のようにそれぞれのセッターメソッドを使用して-

setStartX(value);
setStartY(value);
setEndX(value);
setEndY(value);

線を引く手順

以下の手順に従って、JavaFXで線を描画します。

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

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

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

ステップ2:線の作成

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

//Creating a line object
Line line = new Line();

ステップ3:線にプロパティを設定する

次のコードブロックに示すように、それぞれのセッターメソッドを使用して、startX、startY、endX、endYの各プロパティを設定して、XY平面に線を描く座標を指定します。

line.setStartX(100.0);
line.setStartY(150.0);
line.setEndX(500.0);
line.setEndY(150.0);

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

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

次のようにグループに追加するために、前のステップで作成されたLine(ノード)オブジェクトを、Groupクラスのコンストラクターへのパラメーターとして渡します-

Group root = new Group(line);

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

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

ルートオブジェクトに加えて、画面の高さと幅を表す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オブジェクトをステージに追加できます。 この方法を使用して、前の手順で準備したシーンオブジェクトを次のように追加します。
primaryStage.setScene(scene)

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

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

primaryStage.show();

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

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

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

以下は、JavaFXを使用して直線を生成するプログラムです。 このコードを DrawingLine.java という名前のファイルに保存します。

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

public class DrawingLine extends Application{
   @Override
   public void start(Stage stage) {
     //Creating a line object
      Line line = new Line();

     //Setting the properties to a line
      line.setStartX(100.0);
      line.setStartY(150.0);
      line.setEndX(500.0);
      line.setEndY(150.0);

     //Creating a Group
      Group root = new Group(line);

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

     //Setting title to the scene
      stage.setTitle("Sample application");

     //Adding the scene to the stage
      stage.setScene(scene);

     //Displaying the contents of a scene
      stage.show();
   }
   public static void main(String args[]){
      launch(args);
   }
}

次のコマンドを使用して、コマンドプロンプトから保存したJavaファイルをコンパイルして実行します。

javac DrawingLine.java
java DrawingLine

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

線の描画