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); } }