JavaFX - Cylindre de forme 3D

Un cylindre est un solide fermé qui a deux bases parallèles (principalement circulaires) reliées par une surface courbe.

Il est décrit par deux paramètres, à savoir - le radius de sa base circulaire et du height du cylindre comme indiqué sur le schéma suivant -

Dans JavaFX, un cylindre est représenté par une classe nommée Cylinder. Cette classe appartient au packagejavafx.scene.shape. En instanciant cette classe, vous pouvez créer un nœud cylindre dans JavaFX.

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

  • height - La hauteur du cylindre.

  • radius - Le rayon du cylindre.

Pour dessiner un cylindre, vous devez transmettre des valeurs à ces propriétés en les transmettant au constructeur de cette classe. Cela peut être fait dans le même ordre au moment de l'instanciation, comme indiqué dans le programme suivant -

Cylinder cylinder = new Cylinder(radius, height);

Ou, en utilisant leurs méthodes de setter respectives comme suit -

setRadius(value); 
setHeight(value);

Étapes pour dessiner un cylindre 3D

Pour dessiner un cylindre (3D) 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 cylindre

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

//Creating an object of the Cylinder class       
Cylinder cylinder = new Cylinder();

Étape 3: Définition des propriétés du cylindre

Met le height et radius du cylindre en utilisant leur poseur respectif comme indiqué ci-dessous.

//Setting the properties of the Cylinder 
cylinder.setHeight(300.0f); 
cylinder.setRadius(100.0f);

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

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

Passez l'objet Cylinder (node) 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 suit -

Group root = new Group(cylinder);

É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, 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 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. CeprimaryStage 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 cette méthode comme suit.

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

Le programme suivant montre comment générer un cylindre à l'aide de JavaFX. Enregistrez ce code dans un fichier avec le nomCylinderExample.java.

import javafx.application.Application; 
import javafx.scene.Group; 
import javafx.scene.Scene; 
import javafx.scene.shape.CullFace; 
import javafx.scene.shape.Cylinder; 
import javafx.stage.Stage;

public class CylinderExample extends Application { 
   @Override 
   public void start(Stage stage) { 
      //Drawing a Cylinder 
      Cylinder cylinder = new Cylinder(); 
         
      //Setting the properties of the Cylinder 
      cylinder.setHeight(300.0f); 
      cylinder.setRadius(100.0f); 
               
      //Creating a Group object  
      Group root = new Group(cylinder); 
         
      //Creating a scene object 
      Scene scene = new Scene(root, 600, 300);  
      
      //Setting title to the Stage 
      stage.setTitle("Drawing a cylinder"); 
         
      //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 CylinderExample.java 
java CylinderExample

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