JavaFX - Cilindro di forma 3D

Un cilindro è un solido chiuso che ha due basi parallele (per lo più circolari) collegate da una superficie curva.

È descritto da due parametri, vale a dire: il radius della sua base circolare e il height del cilindro come mostrato nel diagramma seguente -

In JavaFX, un cilindro è rappresentato da una classe denominata Cylinder. Questa classe appartiene al pacchettojavafx.scene.shape. Istanziando questa classe, è possibile creare un nodo cilindro in JavaFX.

Questa classe ha 2 proprietà del doppio tipo di dati, ovvero:

  • height - L'altezza del cilindro.

  • radius - Il raggio del cilindro.

Per disegnare un cilindro, è necessario passare valori a queste proprietà passandoli al costruttore di questa classe. Questo può essere fatto nello stesso ordine al momento dell'istanziazione, come mostrato nel seguente programma:

Cylinder cylinder = new Cylinder(radius, height);

Oppure, utilizzando i rispettivi metodi setter come segue:

setRadius(value); 
setHeight(value);

Passaggi per disegnare un cilindro 3D

Per disegnare un cilindro (3D) 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 un cilindro

È possibile creare un cilindro in JavaFX istanziando la classe denominata Cilindro, che appartiene a un pacchetto javafx.scene.shape. Puoi istanziare questa classe come segue:

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

Passaggio 3: impostazione delle proprietà sul cilindro

Impostare il height e radius del cilindro utilizzando il rispettivo posizionatore come mostrato di seguito.

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

Passaggio 4: creazione di un oggetto gruppo

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

Passare l'oggetto Cilindro (nodo) creato nel passaggio precedente come parametro al costruttore della classe Group. Questo dovrebbe essere fatto per aggiungerlo al gruppo come segue:

Group root = new Group(cylinder);

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. QuestoprimaryStage è 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 questo metodo come segue.

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

Il seguente programma mostra come generare un cilindro utilizzando JavaFX. Salva questo codice in un file con il nomeCylinderExample.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); 
   } 
}

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

javac CylinderExample.java 
java CylinderExample

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