Courbe cubique d'élément de chemin de formes 2D

La courbe cubique de l'élément de chemin est utilisée pour dessiner un cubic curve à un point aux coordonnées spécifiées à partir de la position actuelle.

Il est représenté par une classe nommée CubicCurveTo. Cette classe appartient au packagejavafx.scene.shape.

Cette classe a 6 propriétés du double type de données à savoir -

  • setX - La coordonnée x du point vers lequel une courbe doit être dessinée à partir de la position actuelle.

  • setX - La coordonnée y du point vers lequel une courbe doit être dessinée à partir de la position actuelle.

  • controlX1- La coordonnée x du 1 er point de contrôle de la courbe.

  • controlY1- La coordonnée y du 1 er point de contrôle de la courbe.

  • controlX2- La coordonnée x du 2 ème point de contrôle de la courbe.

  • controlY2- La coordonnée y du 2 ème point de contrôle de la courbe.

Pour dessiner une courbe cubique, vous devez transmettre des valeurs à ces propriétés. Cela peut être fait en les passant au constructeur de cette classe. Celles-ci doivent être dans le même ordre qu'au moment de l'instanciation, comme indiqué ci-dessous -

CubicCurveTo cubiccurve = new CubicCurveTo(
   X, Y, controlX1, controlY1, controlX2, controlY2);

Ou, en utilisant leurs méthodes de réglage respectives comme indiqué ci-dessous -

setX(value); 
setY(value); 
setControlX1(value); 
setControlY1(value); 
setControlX2(value); 
setControlY2(value);

Étapes pour dessiner une courbe cubique PathElement

Pour dessiner une courbe cubique vers un point spécifié à partir de la position actuelle 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. Ensuite, vous pouvez mettre en œuvre lestart() méthode de cette classe comme indiqué ci-dessous.

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

Étape 2: créer l'objet de classe de chemin

Créez l'objet de classe de chemin comme indiqué dans le bloc de code suivant.

//Creating a Path object 
Path path = new Path();

Étape 3: créer un chemin

Créer le MoveTopath et définissez les coordonnées XY au point de départ de la ligne sur les coordonnées (100, 150). Cela peut être fait en utilisant les méthodessetX() et setY() de la classe MoveTo comme indiqué ci-dessous.

//Moving to the starting point 
MoveTo moveTo = new MoveTo(); 
moveTo.setX(100.0f); 
moveTo.setY(150.0f);

Étape 4: Création d'un objet de la classe CubicCurveTo

Créez la courbe quadratique de l'élément path en instanciant la classe nommée CubicCurveTo, qui appartient au package javafx.scene.shape comme indiqué ci-dessous -

//Creating an object of the class CubicCurveTo 
CubicCurveTo cubicCurveTo= new CubicCurveTo ();

Étape 5: Définition des propriétés de l'élément de courbe cubique

Spécifiez les coordonnées du point vers lequel une courbe cubique doit être dessinée à partir de la position actuelle. Ensuite, vous devez définir les propriétés x, y, controlX1, controlY1, controlX2, controlY2 et les coordonnées du point de contrôle par leurs méthodes de réglage comme indiqué ci-dessous.

//Setting properties of the class CubicCurve            
cubicCurveTo.setControlX1(400.0f); 
cubicCurveTo.setControlY1(40.0f); 
cubicCurveTo.setControlX2(175.0f); 
cubicCurveTo.setControlY2(250.0f);
cubicCurveTo.setX(500.0f); 
cubicCurveTo.setY(150.0f);

Étape 6: Ajout d'éléments à la liste observable de la classe de chemin

Ajouter les éléments du chemin → MoveTo et CubicCurveTo, créé dans les étapes précédentes vers la liste observable des Path classe comme suit -

//Adding the path elements to Observable list of the Path class   
path.getElements().add(moveTo); 
path.getElements().add(cubicCurveTo);

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

Créez un objet de groupe en instanciant la classe nommée Group, qui appartient au package javafx.scene.

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

Group root = new Group(line);

Étape 8: 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, transmettez 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 9: 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 10: 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 en utilisant cette méthode comme indiqué ci-dessous -

primaryStage.setScene(scene);

Étape 11: 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 12: 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 le programme qui dessine une courbe cubique du point courant à une position spécifiée en utilisant la classe nommée Pathde JavaFX. Enregistrez ce code dans un fichier avec le nomCubicCurveToExample.java.

import javafx.application.Application; 
import javafx.scene.Group; 
import javafx.scene.Scene; 
import javafx.stage.Stage; 
import javafx.scene.shape.CubicCurveTo; 
import javafx.scene.shape.MoveTo; 
import javafx.scene.shape.Path; 
         
public class CubicCurveToExample extends Application {  
   @Override 
   public void start(Stage stage) {        
      //Creating an object of the class named Path 
      Path path = new Path();  
      
      //Moving to the starting point 
      MoveTo moveTo = new MoveTo(); 
      moveTo.setX(100.0); 
      moveTo.setY(150.0);
      
      //Instantiating the class CubicCurve 
      CubicCurveTo cubicCurveTo = new CubicCurveTo(); 
       
      //Setting properties of the class CubicCurve            
      cubicCurveTo.setControlX1(400.0f); 
      cubicCurveTo.setControlY1(40.0f); 
      cubicCurveTo.setControlX2(175.0f); 
      cubicCurveTo.setControlY2(250.0f); 
      cubicCurveTo.setX(500.0f); 
      cubicCurveTo.setY(150.0f);       
       
      //Adding the path elements to Observable list of the Path class 
      path.getElements().add(moveTo);       
      path.getElements().add(cubicCurveTo);         
      
      //Creating a Group object  
      Group root = new Group(path); 
         
      //Creating a scene object 
      Scene scene = new Scene(root, 600, 300);  
      
      //Setting title to the Stage 
      stage.setTitle("Drawing a cubic through a specified path"); 
         
      //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 CubicCurveToExample.java 
java CubicCurveToExample

Lors de l'exécution, le programme ci-dessus génère une fenêtre JavaFX affichant une courbe cubique. Ceci est dessiné de la position actuelle au point spécifié comme indiqué ci-dessous.