Javafx-2dshapes-svgpath
JavaFX-2DシェイプSVGPath
SVG *(Scalable Vector Graphics)*は、ベクターベースのグラフィックスを定義するXMLベースの言語です。
JavaFXでは、SVGパスを解析して画像を構築できます。 このような形状は、 SVGPath という名前のクラスで表されます。 このクラスは、パッケージ javafx.scene.shape に属します。
このクラスをインスタンス化することにより、JavaFXでSVGパスを解析して作成されるノードを作成できます。
このクラスには、Stringデータ型の content というプロパティがあります。 これは、画像を描画するSVGパスエンコード文字列を表します。
SVGパスを解析して図形を描画するには、このクラスの* setContent()*という名前のメソッドを次のように使用して、このプロパティに値を渡す必要があります-
SVGPathを描画する手順
JavaFXでSVGPathを解析して図形を描画するには、以下の手順に従います。
ステップ1:クラスを作成する
Javaクラスを作成し、パッケージ javafx.application の Application クラスを継承し、このクラスの* start()*メソッドを次のように実装します。
ステップ2:SVGPathクラスのオブジェクトを作成する
SVGPathを解析することにより、JavaFXで必要な形状を作成できます。 そのためには、パッケージ javafx.scene.shape に属する SVGPath という名前のクラスをインスタンス化します。 このクラスを次のようにインスタンス化できます。
ステップ3:SVGPathの設定
メソッド* setContent()*を使用して、SVGオブジェクトのコンテンツを設定します。 このメソッドには、SVGPathを渡す必要があります。 whichを使用して、次のコードブロックに示すように、文字列の形で図形を描画する必要があります。
ステップ4:グループオブジェクトの作成
- start()メソッドで、パッケージ *javafx.scene に属する Group という名前のクラスをインスタンス化して、グループオブジェクトを作成します。
前の手順で作成したSVGPath(ノード)オブジェクトをパラメーターとしてGroupクラスのコンストラクターに渡します。 これは、次のようにグループに追加するために行う必要があります-
ステップ5:シーンオブジェクトの作成
パッケージjavafx.sceneに属する Scene という名前のクラスをインスタンス化して、シーンを作成します。 このクラスに、前の手順で作成したGroupオブジェクト*(root)*を渡します。
ルートオブジェクトに加えて、画面の高さと幅を表す2つのdoubleパラメーターを、Groupクラスのオブジェクトとともに次のように渡すこともできます。
ステップ6:ステージのタイトルを設定する
ステップ7:シーンをステージに追加する
ステップ8:ステージのコンテンツを表示する
次のように Stage クラスの* show()*という名前のメソッドを使用して、シーンのコンテンツを表示します。
ステップ9:アプリケーションの起動
次のようにメインxメソッドから Application クラスの* launch()*静的メソッドを呼び出して、JavaFXアプリケーションを起動します。
例
以下は、JavaFXを使用してSVGパスを解析して形状を生成するプログラムです。 このコードを SVGExample.java という名前のファイルに保存します。
次のコマンドを使用して、コマンドプロンプトから保存したJavaファイルをコンパイルして実行します。
実行時に、上記のプログラムは、以下に示すように* SVGパス*を解析することによって描画される三角形を表示するJavaFXウィンドウを生成します。