JavaFX - Polilinea di forme 2D

Una polilinea è uguale a un poligono tranne per il fatto che una polilinea non è chiusa alla fine. Oppure, linea continua composta da uno o più segmenti di linea.

In breve, possiamo dire che un poligono è una figura aperta formata da segmenti di linea complanari.

n JavaFX, una Polyline è rappresentata da una classe denominata Polygon. Questa classe appartiene al pacchettojavafx.scene.shape..

Istanziando questa classe, è possibile creare un nodo polilinea in JavaFX. È necessario passare le coordinate x, y dei punti in base ai quali la polilinea deve essere definita sotto forma di un doppio array.

Puoi passare il doppio array come parametro del costruttore di questa classe come mostrato di seguito -

Polyline polyline = new Polyline(doubleArray);

Oppure, utilizzando il getPoints() metodo come segue -

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

Passaggi per disegnare una polilinea

Per disegnare una polilinea in JavaFX, seguire i passaggi indicati di seguito.

Passaggio 1: creazione di una classe

Crea una classe Java ed eredita il file Application classe del pacchetto javafx.application e implementare il start() metodo di questa classe come segue.

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

Passaggio 2: creazione di una polilinea

È possibile creare una riga in JavaFX istanziando la classe denominata Line che appartiene a un pacchetto javafx.scene.shape. È possibile creare un'istanza di questa classe come segue.

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

Passaggio 3: impostazione delle proprietà sulla polilinea

Specificare un doppio array che contiene le coordinate XY dei punti della polilinea richiesta (esagono in questo esempio) separate da virgole. Puoi farlo usando ilgetPoints() metodo del Polyline class come mostrato nel seguente blocco di codice.

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

Passaggio 4: creazione di un oggetto gruppo

Nel start() metodo crea un oggetto gruppo istanziando la classe denominata Group, che appartiene al pacchetto javafx.scene.

Passa il Polyline (nodo) oggetto, creato nel passaggio precedente, come parametro al costruttore della classe Group, per aggiungerlo al gruppo come segue:

Group root = new Group(polyline);

Passaggio 5: creazione di un oggetto scena

Crea una scena istanziando la classe denominata Scene che appartiene al pacchetto javafx.scene. A questa classe passa l'oggetto Group(root) creato nel passaggio precedente.

Oltre all'oggetto radice, puoi anche passare due parametri doppi che rappresentano l'altezza e la larghezza dello schermo insieme all'oggetto della classe Group come segue.

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

Passaggio 6: impostazione del titolo dello stage

Puoi impostare il titolo dello stage utilizzando il file setTitle() metodo del Stageclasse. IlprimaryStage è un oggetto Stage che viene passato al metodo di avvio della classe scene come parametro.

Usando il primaryStage oggetto, imposta il titolo della scena come Sample Application come segue.

primaryStage.setTitle("Sample Application");

Passaggio 7: aggiunta della scena allo stage

Puoi aggiungere un oggetto Scene allo stage utilizzando il metodo setScene() della classe denominata Stage. Aggiungere l'oggetto Scene preparato nei passaggi precedenti utilizzando il metodo seguente.

primaryStage.setScene(scene);

Passaggio 8: visualizzazione dei contenuti dello stage

Visualizza il contenuto della scena utilizzando il metodo denominato show() del Stage classe come segue.

primaryStage.show();

Passaggio 9: avvio dell'applicazione

Avvia l'applicazione JavaFX chiamando il metodo statico launch() del Application class dal metodo principale come segue.

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

Esempio

Di seguito è riportato un programma che genera una polilinea utilizzando JavaFX. Salva questo codice in un file con il nomePolylineExample.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); 
   } 
}

Compilare ed eseguire il file java salvato dal prompt dei comandi utilizzando i seguenti comandi.

javac PolylineExample.java 
java PolylineExample

All'esecuzione, il programma precedente genera una finestra JavaFX che mostra una polilinea come mostrato di seguito.