JavaFX - 3D Shape Box

Um cubóide é uma forma tridimensional ou sólida. Os cubóides são feitos de 6 retângulos, colocados em ângulos retos. Um cuboide que usa faces quadradas é um cubo, se as faces forem retângulos, diferente de cubos, parece uma caixa de sapatos.

Um cubóide é uma forma tridimensional com um length (profundidade), width, e um height conforme mostrado no diagrama a seguir -

No JavaFX, uma caixa tridimensional é representada por uma classe chamada Box. Esta classe pertence ao pacotejavafx.scene.shape.

Ao instanciar essa classe, você pode criar um nó Box no JavaFX.

Esta classe possui 3 propriedades do tipo de dados duplo, que são -

  • width - A largura da caixa.

  • height - A altura da caixa.

  • depth - A profundidade da caixa.

Para desenhar uma curva cúbica, você precisa passar valores para essas propriedades, passando-os para o construtor desta classe. Isso deve ser feito na mesma ordem no momento da instanciação, conforme mostrado abaixo -

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

Ou, usando seus respectivos métodos de definição da seguinte forma -

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

Passos para desenhar a caixa 3D

Para desenhar uma caixa 3D no JavaFX, siga as etapas abaixo.

Etapa 1: Criação de uma classe

Crie uma classe Java e herde o Application classe do pacote javafx.application e implementar o start() método desta classe da seguinte forma -

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

Etapa 2: Criação de uma caixa

Você pode criar uma caixa em JavaFX instanciando a classe chamada BOX, que pertence a um pacote javafx.scene.shape. Você pode instanciar essa classe da seguinte maneira.

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

Etapa 3: Definir propriedades para a caixa

Defina as propriedades da caixa 3D, Width, Height e Depth, usando seus respectivos métodos configuradores, conforme mostrado no bloco de código a seguir.

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

Etapa 4: Criação de um objeto de grupo

No start() método, crie um objeto de grupo instanciando a classe chamada Group, que pertence ao pacote javafx.scene.

Passe o objeto Box (nó), criado na etapa anterior, como parâmetro para o construtor da classe Grupo. Isso deve ser feito para adicioná-lo ao grupo da seguinte forma -

Group root = new Group(box);

Etapa 5: Criação de um objeto de cena

Crie uma cena instanciando a classe chamada Scene, que pertence ao pacote javafx.scene. Para esta classe, passe o objeto Grupo (root), criado na etapa anterior.

Além do objeto raiz, você também pode passar dois parâmetros duplos que representam a altura e a largura da tela junto com o objeto da classe Grupo da seguinte maneira -

Scene scene = new Scene(group ,600, 300);

Etapa 6: definir o título do palco

Você pode definir o título do palco usando o setTitle() método do Stageclasse. oprimaryStage é um objeto Stage, que é passado para o método start da classe Scene como um parâmetro.

Usando o primaryStage objeto, defina o título da cena como Sample Application do seguinte modo.

primaryStage.setTitle("Sample Application");

Etapa 7: Adicionando cena ao palco

Você pode adicionar um objeto Scene ao palco usando o método setScene() da classe chamada Stage. Adicione o objeto Scene preparado nas etapas anteriores usando o seguinte método -

primaryStage.setScene(scene);

Etapa 8: Exibindo o conteúdo do palco

Exiba o conteúdo da cena usando o método chamado show () da classe Stage da seguinte maneira.

primaryStage.show();

Etapa 9: iniciar o aplicativo

Inicie o aplicativo JavaFX chamando o método estático launch () da classe Application do método principal da seguinte maneira -

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

Exemplo

A seguir está um programa que gera uma caixa 3D usando JavaFX. Salve este código em um arquivo com o 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); 
   } 
}

Compile e execute o arquivo java salvo no prompt de comando usando os comandos a seguir.

javac BoxExample.java 
java BoxExample

Ao ser executado, o programa acima gera uma janela JavaFX exibindo uma caixa 3D conforme mostrado abaixo -