如何使用 Path 類用 JavaFX 繪製自定義形狀?


javafx.scene.shape 包中提供了繪圖各種2D形狀的類,但這些只是基本形狀,如直線、圓圈、多邊形和橢圓等。

因此,如果你想繪製複雜的自定形狀,你需要使用 Path 類。

Path 類

Path 類表示形狀的幾何輪廓,並附加到一個可觀察的列表中,該列表儲存有各種路徑元素,如 MoveTo、LineTo、HlineTo、VlineTo、ArcTo、QuadCurveTo、CubicCurveTo。

此類的建構函式接受型別為 PathElement 的可變引數,並根據給定的路徑元素構造一個路徑。

示例

路徑元素 MoveTo 用於將路徑的當前位置移動到指定點,而 LineTo 用於從當前座標到指定座標繪製一條線。

在以下示例中,我們嘗試使用 MoveTo 路徑和路徑類繪製一個自定義的複雜形狀

import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.stage.Stage;
import javafx.scene.shape.LineTo;
import javafx.scene.shape.MoveTo;
import javafx.scene.shape.Path;
public class ComplexShape extends Application {
   public void start(Stage stage) {
      //Drawing the shape
      MoveTo moveTo = new MoveTo(108, 71);
      LineTo line1 = new LineTo(321, 161);
      LineTo line2 = new LineTo(126,232);
      LineTo line3 = new LineTo(232,52);
      LineTo line4 = new LineTo(269, 250);
      LineTo line5 = new LineTo(108, 71);  
      //Creating a Path
      Path path = new Path(moveTo, line1, line2, line3, line4, line5);
      //Preparing the Stage object
      Group root = new Group(path);
      Scene scene = new Scene(root, 600, 300);
      stage.setTitle("Drawing an arc through a path");
      stage.setScene(scene);
      stage.show();
   }
   public static void main(String args[]){
      launch(args);
   }
}

輸出結果

更新時間: 14-4-2020

503 人瀏覽

開啟您的 職業生涯

完成課程並獲得認證

開始
廣告