JavaFX - Polyligne de formes 2D

Une polyligne est identique à un polygone sauf qu'une polyligne n'est pas fermée à la fin. Ou, ligne continue composée d'un ou plusieurs segments de ligne.

En bref, nous pouvons dire qu'un polygone est une figure ouverte formée de segments de ligne coplanaires.

n JavaFX, une polyligne est représentée par une classe nommée Polygon. Cette classe appartient au packagejavafx.scene.shape..

En instanciant cette classe, vous pouvez créer un nœud de polyligne dans JavaFX. Vous devez passer les coordonnées x, y des points par lesquels la polyligne doit être définie sous la forme d'un double tableau.

Vous pouvez passer le double tableau en tant que paramètre du constructeur de cette classe comme indiqué ci-dessous -

Polyline polyline = new Polyline(doubleArray);

Ou, en utilisant le getPoints() méthode comme suit -

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

Étapes pour dessiner une polyligne

Pour dessiner une polyligne dans JavaFX, suivez les étapes ci-dessous.

Étape 1: Créer une classe

Créez une classe Java et héritez du Application classe du package javafx.application et mettre en œuvre le start() méthode de cette classe comme suit.

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

Étape 2: Création d'une polyligne

Vous pouvez créer une ligne dans JavaFX en instanciant la classe nommée Line qui appartient à un package javafx.scene.shape. Vous pouvez instancier cette classe comme suit.

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

Étape 3: Définition des propriétés de la polyligne

Spécifiez un double tableau contenant les coordonnées XY des points de la polyligne requise (hexagone dans cet exemple) séparés par des virgules. Vous pouvez le faire en utilisant legetPoints() méthode de la Polyline class comme indiqué dans le bloc de code suivant.

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

Étape 4: Création d'un objet de groupe

dans le start() méthode crée un objet de groupe en instanciant la classe nommée Group, qui appartient au package javafx.scene.

Passe le Polyline (node) objet, créé à l'étape précédente, en tant que paramètre du constructeur de la classe Group, afin de l'ajouter au groupe comme suit -

Group root = new Group(polyline);

Étape 5: Création d'un objet de scène

Créez une scène en instanciant la classe nommée Scene qui appartient au package javafx.scene. À cette classe, passez l'objet Group(root) qui a été créé à l'étape précédente.

En plus de l'objet racine, vous pouvez également transmettre deux doubles paramètres représentant la hauteur et la largeur de l'écran avec l'objet de la classe Group comme suit.

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

Étape 6: Définition du titre de la scène

Vous pouvez définir le titre de la scène à l'aide du setTitle() méthode de la Stageclasse. leprimaryStage est un objet Stage qui est passé à la méthode start de la classe Scene en tant que paramètre.

En utilisant le primaryStage objet, définissez le titre de la scène comme Sample Application comme suit.

primaryStage.setTitle("Sample Application");

Étape 7: Ajouter une scène à la scène

Vous pouvez ajouter un objet Scene à la scène en utilisant la méthode setScene() de la classe nommée Stage. Ajoutez l'objet Scene préparé aux étapes précédentes à l'aide de la méthode suivante.

primaryStage.setScene(scene);

Étape 8: Affichage du contenu de la scène

Affichez le contenu de la scène en utilisant la méthode nommée show() du Stage classe comme suit.

primaryStage.show();

Étape 9: Lancement de l'application

Lancez l'application JavaFX en appelant la méthode statique launch() du Application classe de la méthode principale comme suit.

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

Exemple

Voici un programme qui génère une polyligne en utilisant JavaFX. Enregistrez ce code dans un fichier avec le nomPolylineExample.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); 
   } 
}

Compilez et exécutez le fichier java enregistré à partir de l'invite de commande à l'aide des commandes suivantes.

javac PolylineExample.java 
java PolylineExample

Lors de l'exécution, le programme ci-dessus génère une fenêtre JavaFX affichant une polyligne comme illustré ci-dessous.