Javafx-2dshapes-circle

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

JavaFX-2Dシェイプサークル

円は、固定点(円の中心)から固定距離(円の半径)にあるすべての点の軌跡です。 言い換えれば、円は閉ループを形成する線であり、その上のすべての点は中心点から一定の距離にあります。

円は、2つのパラメータによって定義されます-

  • センター-円の内側の点です。 円上のすべての点は、中心点から等距離(同じ距離)です。
  • 半径-半径は、中心から円上の任意の点までの距離です。 直径の半分です。

サークル

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

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

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

  • centerX -円の中心のx座標。
  • centerY -円の中心のy座標。
  • 半径-ピクセル単位の円の半径。

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

Circle circle = new Circle(centerx, centery, radius);

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

setCenterX(value);
setCenterY(value);
setRadius(value);

円を描く手順

以下の手順に従って、JavaFXで円を描きます。

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

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

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

ステップ2:円を作成する

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

//Creating a circle object
Circle circle = new Circle();

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

次のコードブロックに示すように、それぞれのセッターメソッドを使用してプロパティX、Y、および半径を設定することにより、円の中心のx、y座標と円の半径を指定します。

circle.setCenterX(300.0f);
circle.setCenterY(135.0f);
circle.setRadius(100.0f);

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

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

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

Group root = new Group(circle);

ステップ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を使用して円を生成するプログラムです。 このコードを CircleExample.java という名前のファイルに保存します。

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

public class CircleExample extends Application {
   @Override
   public void start(Stage stage) {
     //Drawing a Circle
      Circle circle = new Circle();

     //Setting the properties of the circle
      circle.setCenterX(300.0f);
      circle.setCenterY(135.0f);
      circle.setRadius(100.0f);

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

     //Creating a scene object
      Scene scene = new Scene(root, 600, 300);
     //Setting title to the Stage
      stage.setTitle("Drawing a Circle");

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

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

円を描く