JavaFX - Polilínea de formas 2D

Una polilínea es lo mismo que un polígono, excepto que una polilínea no está cerrada al final. O, línea continua compuesta por uno o más segmentos de línea.

En resumen, podemos decir que un polígono es una figura abierta formada por segmentos de línea coplanares.

n JavaFX, una polilínea está representada por una clase llamada Polygon. Esta clase pertenece al paquetejavafx.scene.shape..

Al crear una instancia de esta clase, puede crear un nodo de polilínea en JavaFX. Debe pasar las coordenadas x, y de los puntos por los que se debe definir la polilínea en forma de matriz doble.

Puede pasar la matriz doble como parámetro del constructor de esta clase como se muestra a continuación:

Polyline polyline = new Polyline(doubleArray);

O, usando el getPoints() método de la siguiente manera -

polyline.getPoints().addAll(new Double[]{List of XY coordinates separated by commas });

Pasos para dibujar polilínea

Para dibujar una polilínea en JavaFX, siga los pasos que se indican a continuación.

Paso 1: crear una clase

Cree una clase Java y herede la Application clase del paquete javafx.application e implementar el start() método de esta clase de la siguiente manera.

public class ClassName extends Application { 
   @Override     
   public void start(Stage primaryStage) throws Exception {
   }    
}

Paso 2: crear una polilínea

Puede crear una línea en JavaFX creando una instancia de la clase llamada Line que pertenece a un paquete javafx.scene.shape. Puede crear una instancia de esta clase de la siguiente manera.

//Creating an object of the class Polyline 
Polyline polyline = new Polyline();

Paso 3: Establecer propiedades para la polilínea

Especifique una matriz doble que contenga las coordenadas XY de los puntos de la polilínea requerida (hexágono en este ejemplo) separados por comas. Puede hacer esto usando elgetPoints() método del Polyline class como se muestra en el siguiente bloque de código.

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

Paso 4: crear un objeto de grupo

En el start() método crea un objeto de grupo creando una instancia de la clase llamada Grupo, que pertenece al paquete javafx.scene.

Pasa el Polyline (nodo) objeto, creado en el paso anterior, como parámetro para el constructor de la clase Group, para agregarlo al grupo de la siguiente manera:

Group root = new Group(polyline);

Paso 5: creación de un objeto de escena

Cree una escena creando una instancia de la clase llamada Scene que pertenece al paquete javafx.scene. A esta clase, pase el objeto Grupo(root) que se creó en el paso anterior.

Además del objeto raíz, también puede pasar dos parámetros dobles que representan la altura y el ancho de la pantalla junto con el objeto de la clase Group de la siguiente manera.

Scene scene = new Scene(group ,600, 300);

Paso 6: Establecer el título del escenario

Puede establecer el título del escenario utilizando el setTitle() método del Stageclase. losprimaryStage es un objeto Stage que se pasa al método de inicio de la clase de escena como parámetro.

Utilizando el primaryStage objeto, establezca el título de la escena como Sample Application como sigue.

primaryStage.setTitle("Sample Application");

Paso 7: agregar escena al escenario

Puede agregar un objeto de escena al escenario usando el método setScene() de la clase nombrada Stage. Agregue el objeto Scene preparado en los pasos anteriores utilizando el siguiente método.

primaryStage.setScene(scene);

Paso 8: Visualización del contenido del escenario

Muestre el contenido de la escena usando el método llamado show() del Stage clase de la siguiente manera.

primaryStage.show();

Paso 9: lanzamiento de la aplicación

Inicie la aplicación JavaFX llamando al método estático launch() del Application class del método principal de la siguiente manera.

public static void main(String args[]){   
   launch(args);      
}

Ejemplo

A continuación se muestra un programa que genera una polilínea usando JavaFX. Guarde este código en un archivo con el nombrePolylineExample.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); 
   } 
}

Compile y ejecute el archivo java guardado desde el símbolo del sistema utilizando los siguientes comandos.

javac PolylineExample.java 
java PolylineExample

Al ejecutarse, el programa anterior genera una ventana JavaFX que muestra una polilínea como se muestra a continuación.