Javafx 简明教程
JavaFX - HLineTo Path Object
路径元素 HLineTo 用于从当前位置绘制一条水平线到指定坐标中的某个点。
The path element HLineTo is used to draw a horizontal line to a point in the specified coordinates from the current position.
它由一个名为 HLineTo 的类表示。此类属于包 javafx.scene.shape 。
It is represented by a class named HLineTo. This class belongs to the package javafx.scene.shape.
这个类的属性具有 double 数据类型,即:
This class has a property of the double datatype namely −
-
X − The x coordinate of the point to which a horizontal line is to be drawn from the current position.
要绘制一条路径元素水平线,您需要向此属性传递一个值。这可以通过在实例化时将其传递给此类的构造函数来完成;或者,通过使用各自的 setter 方法来完成。
To draw a path element horizontal line, you need to pass a value to this property. This can be either done by passing it to the constructor of this class, at the time of instantiation; Or, by using their respective setter methods.
Steps to draw PathElement Horizontal Line
按照以下步骤在 JavaFX 中绘制一条从当前位置到指定点的水平线:
Follow the steps given below to draw a horizontal line to a specified point from the current position in JavaFX.
Step 1: Creating a Path Object
我们首先通过在 Application 类的 start() 方法中实例化 Path 类创建 Path 对象,如下所示:
We first create a Path object by instantiating the Path class within the start() method of Application class as shown below −
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() 来实现,如下所示:
Create the MoveTo path element and set XY coordinates to starting point of the line to the coordinates (100, 150). This can be done by using the methods setX() and setY() of the class MoveTo as shown below.
//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 的类创建路径元素水平线,如下所示:
Create the path element horizontal line by instantiating the class named HLineTo which belongs to the package javafx.scene.shape as shown below.
//Creating an object of the class HLineTo
HLineTo hLineTo = new HLineTo();
Step 4: Setting Properties to the Horizontal Line Element
指定水平线从当前位置绘制到的点的 x 坐标。可以通过使用 HLineTo 类的 setX() 方法设置属性 x 来实现,如下所示:
Specify the x coordinate of the point to which a horizontal line is to be drawn from the current position. This can be done by setting the property x, using the method setX() of the HLineTo class as shown below.
//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 类的可观察列表,如下所示 -
Add the path elements MoveTo and HlineTo created in the previous steps to the observable list of the Path class as shown below −
//Adding the path elements to Observable list of the Path class
path.getElements().add(moveTo);
path.getElements().add(hlineTo);
Step 6: Launching Application
在创建了 HLineTo 路径对象之后,按照以下步骤正确启动应用程序 -
Once the HLineTo path object is created, follow the given steps below to launch the application properly −
-
Firstly, instantiate the class named Scene by passing the Group object as a parameter value to its constructor. To this constructor, you can also pass dimensions of the application screen as optional parameters.
-
Then, set the title to the stage using the setTitle() method of the Stage class.
-
Now, a Scene object is added to the stage using the setScene() method of the class named Stage.
-
Display the contents of the scene using the method named show().
-
Lastly, the application is launched with the help of the launch() method.
Example
以下是一个使用 JavaFX 的 Path 类从当前点到指定位置绘制水平线的程序。将代码保存到 HLineToExample.java 命名的文件中。
Following is a program which draws a horizontal line from the current point to a specified position using the class Path of JavaFX. Save this code in a file with the name − 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 文件。
Compile and execute the saved java file from the command prompt using the following commands.
javac --module-path %PATH_TO_FX% --add-modules javafx.controls HLineToExample.java
java --module-path %PATH_TO_FX% --add-modules javafx.controls HLineToExample
在执行时,上述程序生成一个显示水平线的 JavaFX 窗口,该水平线从当前位置绘制到指定点,如下所示。
On executing, the above program generates a JavaFX window displaying a horizontal line, which is drawn from the current position to the specified point, as shown below.
Example
在本示例中,我们尝试使用水平线绘制更复杂的路径,即三角形。将代码保存到 HLineToTriangle.java 命名的文件中。
In this example, we are trying to draw a more complex path, i.e. triangle, using the horizontal line. Save this code in a file with the name − 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 文件。
Compile and execute the saved java file from the command prompt using the following commands.
javac --module-path %PATH_TO_FX% --add-modules javafx.controls HLineToTriangle.java
java --module-path %PATH_TO_FX% --add-modules javafx.controls HLineToTriangle
在执行时,上述程序生成一个显示三角形的 JavaFX 窗口。
On executing, the above program generates a JavaFX window displaying a triangle.