JavaFX - 2D 形状折线

  • 简述

    折线与多边形相同,只是折线最终没有闭合。或者,由一个或多个线段组成的连续线。
    简而言之,我们可以说多边形是由共面线段形成的开放图形。
    折线
    n JavaFX,折线由名为的类表示 Polygon. 这个类属于包javafx.scene.shape..
    通过实例化此类,您可以在 JavaFX 中创建折线节点。您需要以双数组的形式传递定义折线的点的 x、y 坐标。
    您可以将双数组作为此类构造函数的参数传递,如下所示 -
    
    Polyline polyline = new Polyline(doubleArray);
    
    或者,通过使用 getPoints() 方法如下 -
    
    polyline.getPoints().addAll(new Double[]{List of XY coordinates separated by commas }); 
    
  • 绘制折线的步骤

    要在 JavaFX 中绘制折线,请按照以下步骤操作。

    第 1 步:创建一个类

    创建一个Java类并继承 Application 包的类别 javafx.application 并实施 start() 这个类的方法如下。
    
    public class ClassName extends Application { 
       @Override     
       public void start(Stage primaryStage) throws Exception {
       }    
    }   
    

    步骤 2:创建多段线

    您可以通过实例化名为的类在 JavaFX 中创建一行 Line 属于一个包 javafx.scene.shape. 您可以按如下方式实例化此类。
    
    //Creating an object of the class Polyline 
    Polyline polyline = new Polyline();
    

    步骤 3:为折线设置属性

    指定一个 double 数组,其中包含以逗号分隔的所需折线(在此示例中为六边形)的点的 XY 坐标。您可以使用getPoints() 的方法 Polyline 类,如以下代码块所示。
    
    //Adding coordinates to the hexagon 
    polyline.getPoints().addAll(new Double[]{        
       200.0, 50.0, 
       400.0, 50.0, 
       450.0, 150.0,          
       400.0, 250.0, 
       200.0, 250.0,                   
       150.0, 150.0, 
    }); 
    

    步骤 4:创建组对象

    在里面 start() 方法通过实例化属于包的名为 Group 的类来创建一个组对象 javafx.scene.
    通过 Polyline (node) 对象,在上一步中创建,作为 Group 类的构造函数的参数,以便将其添加到组中,如下所示 -
    
    Group root = new Group(polyline);
    

    步骤 5:创建场景对象

    通过实例化名为的类来创建场景 Scene 属于包 javafx.scene. 向此类传递 Group 对象(root) 这是在上一步中创建的。
    除了根对象,您还可以传递两个表示屏幕高度和宽度的双参数以及 Group 类的对象,如下所示。
    
    Scene scene = new Scene(group ,600, 300);
    

    第 6 步:设置舞台的标题

    您可以使用 setTitle() 的方法 Stage班级。这primaryStage 是一个 Stage 对象,它作为参数传递给场景类的 start 方法。
    使用 primaryStage 对象,将场景的标题设置为 Sample Application 如下。
    
    primaryStage.setTitle("Sample Application");
    

    第 7 步:将场景添加到舞台

    您可以使用方法将 Scene 对象添加到舞台 setScene() 类名为 Stage. 使用以下方法添加在前面步骤中准备的 Scene 对象。
    
    primaryStage.setScene(scene);
    

    步骤 8:显示舞台内容

    使用名为的方法显示场景的内容 show()Stage 类如下。
    
    primaryStage.show();
    

    步骤 9:启动应用程序

    通过调用静态方法启动 JavaFX 应用程序 launch()Application 类从主要方法如下。
    
    public static void main(String args[]){   
       launch(args);      
    }
    

    例子

    以下是使用 JavaFX 生成折线的程序。将此代码保存在名称为的文件中PolylineExample.java.
    
    import javafx.application.Application; 
    import javafx.scene.Group; 
    import javafx.scene.Scene; 
    import javafx.stage.Stage; 
    import javafx.scene.shape.Polyline
    public class PolylineExample extends Application {  
       @Override 
       public void start(Stage stage) {        
          //Creating a polyline 
          Polyline polyline = new Polyline();  
           
          //Adding coordinates to the polygon 
          polyline.getPoints().addAll(new Double[]{        
             200.0, 50.0, 
             400.0, 50.0, 
             450.0, 150.0,          
             400.0, 250.0, 
             200.0, 250.0,                   
             150.0, 150.0, 
          }); 
              
          //Creating a Group object  
          Group root = new Group(polyline); 
             
          //Creating a scene object 
          Scene scene = new Scene(root, 600, 300);  
          
          //Setting title to the Stage 
          stage.setTitle("Drawing a Polyline"); 
             
          //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 PolylineExample.java 
    java PolylineExample
    
    执行时,上述程序会生成一个 JavaFX 窗口,显示多段线,如下所示。
    绘制多边形