JavaFX - 3D Shape Sphere
Uma esfera é um objeto geométrico perfeitamente redondo em um espaço tridimensional que é a superfície de uma bola de formato completamente redondo.
Uma esfera é definida como o conjunto de pontos que estão todos à mesma distância r de um determinado ponto em um espaço 3D. Esta distânciar é o radius da esfera e o ponto dado é o centro da esfera.
No JavaFX, uma esfera é representada por uma classe chamada Sphere. Esta classe pertence ao pacotejavafx.scene.shape. Ao instanciar essa classe, você pode criar um nó de esfera no JavaFX.
Esta classe possui uma propriedade chamada radiusde tipo de dados duplo. Ele representa o raio de uma esfera. Para desenhar uma esfera, você precisa definir valores para esta propriedade, passando-os para o construtor desta classe no momento da instanciação da seguinte forma -
Sphere sphere = new Sphere(radius);
Ou, usando um método chamado setRadius() como segue -
setRadius(value);
Passos para desenhar a esfera 3D
Siga as etapas abaixo para desenhar uma esfera (3D) no JavaFX.
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 esfera
Você pode criar uma esfera em JavaFX instanciando a classe chamada Sphere, que pertence a um pacote javafx.scene.shape. Você pode instanciar essa classe da seguinte maneira.
//Creating an object of the class Sphere
Sphere sphere = new Sphere();
Etapa 3: Definindo propriedades para a esfera
Defina o raio da esfera usando o método chamado setRadius() como mostrado abaixo.
//Setting the radius of the Sphere
sphere.setRadius(300.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 Sphere (nó), criado na etapa anterior, como parâmetro para o construtor da classe Group. Isso deve ser feito para adicioná-lo ao grupo conforme mostrado abaixo -
Group root = new Group(sphere);
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 este método conforme mostrado abaixo.
primaryStage.setScene(scene);
Etapa 8: Exibir o conteúdo do palco
Mostra o conteúdo da cena usando o método chamado show() do Stage classe da seguinte forma.
primaryStage.show();
Etapa 9: iniciar o aplicativo
Inicie o aplicativo JavaFX chamando o método estático launch() do Application classe do método principal, conforme mostrado abaixo.
public static void main(String args[]){
launch(args);
}
Exemplo
O programa a seguir mostra como gerar uma esfera usando JavaFX. Salve este código em um arquivo com o nomeSphereExample.java.
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.stage.Stage;
import javafx.scene.shape.Sphere;
public class SphereExample extends Application {
@Override
public void start(Stage stage) {
//Drawing a Sphere
Sphere sphere = new Sphere();
//Setting the properties of the Sphere
sphere.setRadius(50.0);
sphere.setTranslateX(200);
sphere.setTranslateY(150);
//Creating a Group object
Group root = new Group(sphere);
//Creating a scene object
Scene scene = new Scene(root, 600, 300);
//Setting title to the Stage
stage.setTitle("Drawing a Sphere - draw fill");
//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 SphereExample.java
java SphereExample
Ao ser executado, o programa acima gera uma janela JavaFX exibindo uma esfera como mostrado abaixo.