JavaFX - Types d'arc de formes 2D

Dans JavaFX, vous pouvez dessiner trois types d'arcs à savoir -

  • Open - Un arc qui n'est pas du tout fermé est appelé arc ouvert.

  • Chord - Une corde est un type d'arc fermé par une ligne droite.

  • Round - L'arc rond est un arc qui se ferme en joignant le point de départ et d'arrivée au centre de l'ellipse.

Vous pouvez définir le type d'arc à l'aide de la méthode setType() en passant l'une des propriétés suivantes - ArcType.OPEN, ArcType.CHORD, ArcType.Round.

Étapes pour dessiner un arc

Pour dessiner un arc 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'un arc

Vous pouvez créer un arc dans JavaFX en instanciant la classe nommée Arc qui appartient à un package javafx.scene.shape. Vous pouvez instancier cette classe comme indiqué ci-dessous.

//Creating an object of the class Arc         
Arc arc = new Arc();

Étape 3: Définition des propriétés de l'arc

Spécifiez les coordonnées x, y du centre de l'ellipse (dont cet arc fait partie). Ces coordonnées incluent - radiusX, radiusY, l'angle de départ et la longueur de l'arc en utilisant leurs méthodes de réglage respectives comme indiqué dans le bloc de code suivant.

Vous pouvez également définir le type d'arc (rond, corde ouverte) en utilisant le setType() méthode.

//Setting the properties of the arc 
arc.setCenterX(300.0f); 
arc.setCenterY(150.0f); 
arc.setRadiusX(90.0f); 
arc.setRadiusY(90.0f); 
arc.setStartAngle(40.0f); 
arc.setLength(239.0f); 
arc.setType(ArcType.ROUND);

Étape 4: Définition du type d'arc

Vous pouvez définir le type d'arc à l'aide de la méthode setType() comme indiqué dans le bloc de code suivant.

//Setting the type of the arc 
arc.setType(ArcType.ROUND);

Étape 5: 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.

Passez l'objet Arc (nœud) créé à l'étape précédente en tant que paramètre au constructeur de la classe Group. Cela devrait être fait afin de l'ajouter au groupe comme indiqué ci-dessous -

Group root = new Group(arc);

Étape 6: 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) 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 7: 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 Stage class. 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 8: 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 cette méthode comme suit.

primaryStage.setScene(scene);

Étape 9: 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 10: 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 un arc. Enregistrez ce code dans un fichier avec le nomArcExample.java.

import javafx.application.Application; 
import javafx.scene.Group; 
import javafx.scene.Scene;
import javafx.stage.Stage; 
import javafx.scene.shape.Arc;  
import javafx.scene.shape.ArcType; 
        
public class ArcExample extends Application { 
   @Override 
   public void start(Stage stage) { 
      //Drawing an arc 
      Arc arc = new Arc(); 
         
      //Setting the properties of the arc 
      arc.setCenterX(300.0f); 
      arc.setCenterY(150.0f); 
      arc.setRadiusX(90.0f); 
      arc.setRadiusY(90.0f); 
      arc.setStartAngle(40.0f); 
      arc.setLength(239.0f);  
      
      //Setting the type of the arc 
      arc.setType(ArcType.ROUND);         
         
      //Creating a Group object  
      Group root = new Group(arc); 
         
      //Creating a scene object 
      Scene scene = new Scene(root, 600, 300);  
      
      //Setting title to the Stage 
      stage.setTitle("Drawing an Arc"); 
         
      //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 ArcExample.java 
java ArcExample

Lors de l'exécution, le programme ci-dessus génère une fenêtre JavaFX affichant un arc comme illustré dans la capture d'écran suivante.