JavaFX 中的各種路徑元素是什麼?


javafx.scene.shape 包提供了用於繪製各種二維形狀的類,但這些僅僅是基本的形狀,如直線、圓形、多邊形和橢圓等……因此,如果要繪製複雜的自定義形狀,則需要使用 Path 類。

Path 類

Path 類使用此類表示形狀的幾何輪廓,您可以繪製自定義路徑。

為了繪製自定義路徑,JavaFX 提供了各種路徑元素,所有這些元素都作為javafx.scene.shape 包中的類提供。

  • LineTo − 此類表示路徑元素直線。它可以幫助您從當前座標到指定(新)座標繪製一條直線。

  • HlineTo − 此類表示路徑元素水平線。它可以幫助您從當前座標到指定(新)座標繪製一條水平線。

  • VLineTo − 此類表示路徑元素垂直線。它可以幫助您從當前座標到指定(新)座標繪製一條垂直線。

  • QuadCurveTo − 此類表示路徑元素二次曲線。它可以幫助您從當前座標到指定(新)座標繪製一條二次曲線。

  • CubicCurveTo − 此類表示路徑元素三次曲線。它可以幫助您從當前座標到指定(新)座標繪製一條三次曲線。

  • ArcTo − 此類表示路徑元素弧線。它可以幫助您從當前座標到指定(新)座標繪製一條弧線。

  • MoveTo − 使用此類,您可以將路徑從當前座標移動到新座標。

使用路徑元素建立路徑

Path 類包含一個可觀察列表,該列表儲存當前路徑的路徑元素。因此,要繪製路徑 -

  • 例項化所需的 PathElement 類。

  • 使用 setter 方法設定每個路徑的屬性,或者將它們作為引數傳遞給建構函式。

  • 例項化 Path 類。

  • 使用getElements()方法獲取上面建立的 Path 的可觀察列表物件。

  • 使用 add() 或 addAll() 方法按所需的順序將所有路徑元素物件新增到可觀察列表中。

  • 最後,將路徑新增到 Group 物件。

注意 - 您還可以將路徑元素傳遞給 Path 類的建構函式。

示例

以下 JavaFX 示例使用 LineTo 路徑元素建立路徑 -

import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
import javafx.scene.shape.LineTo;
import javafx.scene.shape.MoveTo;
import javafx.scene.shape.Path;
public class PathElementsExample extends Application {
   public void start(Stage stage) {
      //Drawing the shape
      MoveTo moveTo = new MoveTo(208, 71);
      LineTo line1 = new LineTo(421, 161);
      LineTo line2 = new LineTo(226,232);
      LineTo line3 = new LineTo(332,52);
      LineTo line4 = new LineTo(369, 250);
      LineTo line5 = new LineTo(208, 71);
      //Creating a Path
      Path path = new Path(moveTo, line1, line2, line3, line4, line5);
      path.setFill(Color.DARKCYAN);
      path.setStrokeWidth(8.0);
      path.setStroke(Color.DARKSLATEGREY);
      //Preparing the Stage object
      Group root = new Group(path);
      Scene scene = new Scene(root, 595, 300, Color.BEIGE);
      stage.setTitle("Drawing an arc through a path");
      stage.setScene(scene);
      stage.show();
   }
   public static void main(String args[]){
      launch(args);
   }
}

輸出

更新於: 2020年4月13日

164 次檢視

啟動您的 職業生涯

透過完成課程獲得認證

開始
廣告

© . All rights reserved.