JavaFX - Scatola di forma 3D

Un cuboide è una forma tridimensionale o solida. I cuboidi sono costituiti da 6 rettangoli, che sono posti ad angolo retto. Un parallelepipedo che utilizza facce quadrate è un cubo, se le facce sono rettangoli, a parte i cubi, sembra una scatola da scarpe.

Un cuboide è una forma tridimensionale con a length (profondità), widthe a height come mostrato nel diagramma seguente -

In JavaFX, una scatola tridimensionale è rappresentata da una classe denominata Box. Questa classe appartiene al pacchettojavafx.scene.shape.

Istanziando questa classe, puoi creare un nodo Box in JavaFX.

Questa classe ha 3 proprietà del tipo di dati doppio, che sono:

  • width - La larghezza della scatola.

  • height - L'altezza della scatola.

  • depth - La profondità della scatola.

Per disegnare una curva cubica, è necessario passare valori a queste proprietà passandoli al costruttore di questa classe. Questo deve essere fatto nello stesso ordine al momento dell'istanziazione come mostrato di seguito:

Box box = new Box(width, height, depth);

Oppure, utilizzando i rispettivi metodi setter come segue:

setWidth(value);
setHeight(value); 
setDepth(value);

Passaggi per disegnare una scatola 3D

Per disegnare una scatola 3D in JavaFX, segui 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 una scatola

Puoi creare un Box in JavaFX istanziando la classe denominata BOX, che appartiene a un pacchetto javafx.scene.shape. È possibile creare un'istanza di questa classe come segue.

//Creating an object of the class Box 
Box box = new Box();

Passaggio 3: impostazione delle proprietà nella casella

Imposta le proprietà del box 3D, Width, Height e Depth, utilizzando i rispettivi metodi setter come mostrato nel seguente blocco di codice.

//Setting the properties of the Box 
box.setWidth(200.0); 
box.setHeight(400.0);   
box.setDepth(200.0);

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.

Passa l'oggetto Box (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(box);

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 setTitle() metodo del Stageclasse. IlprimaryStage è 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 di scene allo stage

Puoi aggiungere un oggetto Scene allo stage utilizzando il metodo setScene() della classe denominata Stage. Aggiungi l'oggetto Scene preparato nei passaggi precedenti utilizzando il seguente metodo:

primaryStage.setScene(scene);

Passaggio 8: visualizzazione dei contenuti dello stage

Visualizzare il contenuto della scena utilizzando il metodo denominato show () della classe Stage come segue.

primaryStage.show();

Passaggio 9: avvio dell'applicazione

Avvia l'applicazione JavaFX chiamando il metodo statico launch () della classe Application dal metodo principale come segue:

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

Esempio

Di seguito è riportato un programma che genera una scatola 3D utilizzando JavaFX. Salva questo codice in un file con il nomeBoxExample.java.

import javafx.application.Application; 
import javafx.scene.Group; 
import javafx.scene.Scene; 
import javafx.scene.shape.Box; 
import javafx.stage.Stage; 
         
public class BoxExample extends Application { 
   @Override 
   public void start(Stage stage) { 
      //Drawing a Box 
      Box box = new Box();  
      
      //Setting the properties of the Box 
      box.setWidth(200.0); 
      box.setHeight(400.0);   
      box.setDepth(200.0); 
         
      //Creating a Group object  
      Group root = new Group(box); 
         
      //Creating a scene object 
      Scene scene = new Scene(root, 600, 300);   
      
      //Setting title to the Stage 
      stage.setTitle("Drawing a Box"); 
         
      //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 BoxExample.java 
java BoxExample

All'esecuzione, il programma di cui sopra genera una finestra JavaFX che mostra un 3D Box come mostrato di seguito -