Javafx-2dshapes-rectangle

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

JavaFX-2Dシェイプの長方形

一般に、長方形とは、すべての内角が直角である2対の平行で平行な辺を持つ4辺形の多角形です。

それは、すなわち2つのパラメータによって記述されます-

  • 高さ-長方形の垂直方向の長さは高さとして知られています。
  • -長方形の水平方向の長さは幅として知られています。

長方形

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

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

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

  • X -長方形の開始点(左上)のx座標。
  • Y -長方形の開始点(左上)のy座標。
  • -長方形の幅。
  • height -長方形の高さ。

長方形を描くには、これらのプロパティに値を渡す必要があります。以下に示すように、インスタンス化の時点で、このクラスのコンストラクタに値を同じ順序で渡すか、

Rectangle rectangle = new Rectangle(x, y, width, height);

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

setX(value);
setY(value);
setWidth(value);
setHeight(value);

四角形を描画する手順

JavaFXで長方形を描くには、以下の手順に従う必要があります。

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

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

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

ステップ2:長方形の作成

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

//Creating a rectangle object
Rectangle rectangle = new Rectangle();

手順3:プロパティを四角形に設定する

描画に必要な開始点のx、y座標(左上)、長方形の高さと幅を指定します。 これを行うには、次のコードブロックに示すように、それぞれのセッターメソッドを使用して、プロパティx、y、高さ、幅を設定します。

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

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

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

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

Group root = new Group(rectangle);

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

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

ルートオブジェクトに加えて、画面の高さと幅を表す2つのdoubleパラメーターを、Groupクラスのオブジェクトとともに次のように渡すこともできます。

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

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

*Stage* クラスの* setTitle()*メソッドを使用して、ステージにタイトルを設定できます。 *primaryStage* はStageオブジェクトであり、シーンクラスのstartメソッドにパラメーターとして渡されます。
*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を生成するプログラムです。 このコードを RectangleExample.java という名前のファイルに保存します。

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

public class RectangleExample extends Application {
   @Override
   public void start(Stage stage) {
     //Drawing a Rectangle
      Rectangle rectangle = new Rectangle();

     //Setting the properties of the rectangle
      rectangle.setX(150.0f);
      rectangle.setY(75.0f);
      rectangle.setWidth(300.0f);
      rectangle.setHeight(150.0f);

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

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

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

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

上記のプログラムは、実行時に、次のスクリーンショットに示すように長方形を表示するJavaFXウィンドウを生成します。

四角形の描画