如何使用 Path 类在 JavaFX 中绘制自定义形状?

javaobject oriented programmingprogramming更新于 2025/10/11 20:28:17

javafx.scene.shape 包提供了可用于绘制各种 2D 形状的类,但这些只是基本形状,如线、圆、多边形和椭圆等……

因此,如果您想绘制复杂的自定义形状,则需要使用 Path 类。

Path 类

Path 类表示形状的几何轮廓,并附加到可观察列表,该列表包含各种路径元素,如 MoveTo、LineTo、HlineTo、VlineTo、ArcTo、QuadCurveTo、CubicCurveTo。

此类的构造函数接受 PathElement  类型的变量参数,并根据给定的路径元素构造路径。

示例

Path元素 MoveTo 用于将路径的当前位置移动到指定点,LineTo 从当前坐标到指定坐标绘制一条线。

在下面的例子中,我们尝试使用 MoveTo PathTo 和 Path 类 − 绘制自定义复杂形状

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) {
      //绘制形状
      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);  
      //创建路径
      Path path = new Path(moveTo, line1, line2, line3, line4, line5);
      //准备 Stage 对象
      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);
   }
}

输出


相关文章


有用资源