如何使用 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);
}
}输出结果

广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP