Javafx-3dshape-box

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

JavaFX-3Dシェイプボックス

直方体は、3次元または立体の形状です。 直方体は、直角に配置された6個の長方形で構成されています。 正方形の面を使用する直方体は立方体です。面が立方体以外の長方形の場合、靴箱のように見えます。

直方体は、次の図に示すように*長さ*(深さ)、、および*高さ*を持つ三次元形状です-

Cuboid

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

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

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

  • width -ボックスの幅。
  • height -ボックスの高さ。
  • depth -ボックスの深さ。

3次曲線を描くには、このクラスのコンストラクターに値を渡すことにより、これらのプロパティに値を渡す必要があります。 これは、以下に示すように、インスタンス化時に同じ順序で実行する必要があります-

Box box = new Box(width, height, depth);

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

setWidth(value);
setHeight(value);
setDepth(value);

3Dボックスを描画する手順

JavaFXで3Dボックスを描画するには、以下の手順に従います。

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

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

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

ステップ2:ボックスを作成する

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

//Creating an object of the class Box
Box box = new Box();

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

次のコードブロックに示すように、それぞれのセッターメソッドを使用して、3Dボックスのプロパティ Width、Height および Depth を設定します。

//Setting the properties of the Box
box.setWidth(200.0);
box.setHeight(400.0);
box.setDepth(200.0);

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

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

前の手順で作成したBox(ノード)オブジェクトをパラメーターとしてGroupクラスのコンストラクターに渡します。 これは、次のようにグループに追加するために行う必要があります-

Group root = new Group(box);

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

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

ルートオブジェクトに加えて、次のようにグループクラスのオブジェクトと一緒に画面の高さと幅を表す2つの二重パラメータを渡すこともできます-

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

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

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

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

public class BoxExample extends Application {
   @Override
   public void start(Stage stage) {
     //Drawing a Box
      Box box = new Box();

     //Setting the properties of the Box
      box.setWidth(200.0);
      box.setHeight(400.0);
      box.setDepth(200.0);

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

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

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

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

実行すると、上記のプログラムは、以下に示すように3Dボックスを表示するJavaFXウィンドウを生成します-

Drawing 3dBox