Javafx 简明教程
JavaFX - HLineTo Path Object
路径元素 HLineTo 用于从当前位置绘制一条水平线到指定坐标中的某个点。
它由一个名为 HLineTo 的类表示。此类属于包 javafx.scene.shape 。
这个类的属性具有 double 数据类型,即:
-
X - 水平线从当前位置绘制到的点的 x 坐标。
要绘制一条路径元素水平线,您需要向此属性传递一个值。这可以通过在实例化时将其传递给此类的构造函数来完成;或者,通过使用各自的 setter 方法来完成。
Steps to draw PathElement Horizontal Line
按照以下步骤在 JavaFX 中绘制一条从当前位置到指定点的水平线:
Step 1: Creating a Path Object
我们首先通过在 Application 类的 start() 方法中实例化 Path 类创建 Path 对象,如下所示:
public class ClassName extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
//Creating a Path object
Path path = new Path()
}
}
Step 2: Setting the Initial Point
创建 MoveTo 路径元素,并将 XY 坐标设置到线条的起点坐标 (100, 150)。可以通过使用类 MoveTo 的方法 setX() 和 setY() 来实现,如下所示:
//Moving to the starting point
MoveTo moveTo = new MoveTo();
moveTo.setX(100.0f);
moveTo.setY(150.0f);
Step 3: Creating an Object of the Class HLineTo
通过实例化属于包 javafx.scene.shape 名为 HLineTo 的类创建路径元素水平线,如下所示:
//Creating an object of the class HLineTo
HLineTo hLineTo = new HLineTo();
Step 4: Setting Properties to the Horizontal Line Element
指定水平线从当前位置绘制到的点的 x 坐标。可以通过使用 HLineTo 类的 setX() 方法设置属性 x 来实现,如下所示:
//Setting the Properties of the horizontal line element
hlineTo.setX(400)
Step 5: Adding Elements to the Observable List of Path Class
在下文中将上一步中创建的路径元素 MoveTo 和 HlineTo 添加到 Path 类的可观察列表,如下所示 -
//Adding the path elements to Observable list of the Path class
path.getElements().add(moveTo);
path.getElements().add(hlineTo);
Step 6: Launching Application
在创建了 HLineTo 路径对象之后,按照以下步骤正确启动应用程序 -
-
首先,通过将组对象作为其构造函数的参数值传递来实例化名为 Scene 的类。你也可以将应用程序屏幕的尺寸作为可选参数传递给此构造函数。
-
然后,使用 Stage 类的 setTitle() 方法设置阶段标题。
-
现在,使用名为 Stage 的类的 setScene() 方法将 Scene 对象添加到阶段。
-
使用名为 show() 的方法显示场景的内容。
-
最后,借助 launch() 方法启动应用程序。
Example
以下是一个使用 JavaFX 的 Path 类从当前点到指定位置绘制水平线的程序。将代码保存到 HLineToExample.java 命名的文件中。
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.stage.Stage;
import javafx.scene.shape.HLineTo;
import javafx.scene.shape.MoveTo;
import javafx.scene.shape.Path;
public class HLineToExample extends Application {
@Override
public void start(Stage stage) {
//Creating an object of the Path class
Path path = new Path();
//Moving to the starting point
MoveTo moveTo = new MoveTo();
moveTo.setX(100.0);
moveTo.setY(150.0);
//Instantiating the HLineTo class
HLineTo hLineTo = new HLineTo();
//Setting the properties of the path element horizontal line
hLineTo.setX(10.0);
//Adding the path elements to Observable list of the Path class
path.getElements().add(moveTo);
path.getElements().add(hLineTo);
//Creating a Group object
Group root = new Group(path);
//Creating a scene object
Scene scene = new Scene(root, 600, 300);
//Setting title to the Stage
stage.setTitle("Drawing a horizontal line");
//Adding scene to the stage
stage.setScene(scene);
//Displaying the contents of the stage
stage.show();
}
public static void main(String args[]){
launch(args);
}
}
使用以下命令,从命令提示符编译并执行已保存的 java 文件。
javac --module-path %PATH_TO_FX% --add-modules javafx.controls HLineToExample.java
java --module-path %PATH_TO_FX% --add-modules javafx.controls HLineToExample
在执行时,上述程序生成一个显示水平线的 JavaFX 窗口,该水平线从当前位置绘制到指定点,如下所示。
Example
在本示例中,我们尝试使用水平线绘制更复杂的路径,即三角形。将代码保存到 HLineToTriangle.java 命名的文件中。
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.stage.Stage;
import javafx.scene.shape.HLineTo;
import javafx.scene.shape.LineTo;
import javafx.scene.shape.MoveTo;
import javafx.scene.shape.Path;
public class HLineToTriangle extends Application {
@Override
public void start(Stage stage) {
//Creating an object of the Path class
Path path = new Path();
//Drawing a triangular path
MoveTo moveTo = new MoveTo();
moveTo.setX(200.0);
moveTo.setY(150.0);
HLineTo hLineTo = new HLineTo();
hLineTo.setX(100.0);
MoveTo moveTo2 = new MoveTo();
moveTo2.setX(100.0);
moveTo2.setY(150.0);
LineTo lineTo = new LineTo();
lineTo.setX(150.0);
lineTo.setY(50.0);
MoveTo moveTo3 = new MoveTo();
moveTo3.setX(150.0);
moveTo3.setY(50.0);
LineTo lineTo2 = new LineTo();
lineTo2.setX(200.0);
lineTo2.setY(150.0);
//Adding the path elements to Observable list of the Path class
path.getElements().add(moveTo);
path.getElements().add(hLineTo);
path.getElements().add(moveTo2);
path.getElements().add(lineTo);
path.getElements().add(moveTo3);
path.getElements().add(lineTo2);
//Creating a Group object
Group root = new Group(path);
//Creating a scene object
Scene scene = new Scene(root, 600, 300);
//Setting title to the Stage
stage.setTitle("Drawing a Triangular Path");
//Adding scene to the stage
stage.setScene(scene);
//Displaying the contents of the stage
stage.show();
}
public static void main(String args[]){
launch(args);
}
}
使用以下命令,从命令提示符编译并执行已保存的 java 文件。
javac --module-path %PATH_TO_FX% --add-modules javafx.controls HLineToTriangle.java
java --module-path %PATH_TO_FX% --add-modules javafx.controls HLineToTriangle
在执行时,上述程序生成一个显示三角形的 JavaFX 窗口。