JavaFX - Caja de forma 3D
Un cuboide es una forma tridimensional o sólida. Los cuboides están hechos de 6 rectángulos, que se colocan en ángulos rectos. Un cuboide que usa caras cuadradas es un cubo, si las caras son rectángulos, que no sean cubos, parece una caja de zapatos.
Un cuboide es una forma tridimensional con un length (profundidad), widthy un height como se muestra en el siguiente diagrama -
En JavaFX, una caja tridimensional está representada por una clase llamada Box. Esta clase pertenece al paquetejavafx.scene.shape.
Al crear una instancia de esta clase, puede crear un nodo Box en JavaFX.
Esta clase tiene 3 propiedades del tipo de datos doble, que son:
width - El ancho de la caja.
height - La altura de la caja.
depth - La profundidad de la caja.
Para dibujar una curva cúbica, debe pasar valores a estas propiedades pasándolos al constructor de esta clase. Esto debe hacerse en el mismo orden en el momento de la instanciación, como se muestra a continuación:
Box box = new Box(width, height, depth);
O, utilizando sus respectivos métodos de establecimiento de la siguiente manera:
setWidth(value);
setHeight(value);
setDepth(value);
Pasos para dibujar una caja 3D
Para dibujar un cuadro 3D en JavaFX, siga los pasos que se indican a continuación.
Paso 1: crear una clase
Cree una clase Java y herede la Application clase del paquete javafx.application e implementar el start() método de esta clase de la siguiente manera:
public class ClassName extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
}
}
Paso 2: crear una caja
Puede crear un Box en JavaFX creando una instancia de la clase llamada BOX, que pertenece a un paquete javafx.scene.shape. Puede crear una instancia de esta clase de la siguiente manera.
//Creating an object of the class Box
Box box = new Box();
Paso 3: Configurar las propiedades del cuadro
Establecer las propiedades de la caja 3D, Width, Height y Depth, utilizando sus respectivos métodos de establecimiento como se muestra en el siguiente bloque de código.
//Setting the properties of the Box
box.setWidth(200.0);
box.setHeight(400.0);
box.setDepth(200.0);
Paso 4: crear un objeto de grupo
En el start() método, cree un objeto de grupo instanciando la clase llamada Group, que pertenece al paquete javafx.scene.
Pase el objeto Box (nodo), creado en el paso anterior, como parámetro al constructor de la clase Group. Esto debe hacerse para agregarlo al grupo de la siguiente manera:
Group root = new Group(box);
Paso 5: creación de un objeto de escena
Cree una escena creando una instancia de la clase llamada Scene, que pertenece al paquete javafx.scene. A esta clase, pase el objeto Grupo (root), creado en el paso anterior.
Además del objeto raíz, también puede pasar dos parámetros dobles que representan la altura y el ancho de la pantalla junto con el objeto de la clase Group de la siguiente manera:
Scene scene = new Scene(group ,600, 300);
Paso 6: Establecer el título del escenario
Puede establecer el título del escenario utilizando el setTitle() método del Stageclase. losprimaryStage es un objeto Stage, que se pasa al método de inicio de la clase de escena como parámetro.
Utilizando el primaryStage objeto, establezca el título de la escena como Sample Application como sigue.
primaryStage.setTitle("Sample Application");
Paso 7: agregar escena al escenario
Puede agregar un objeto de escena al escenario usando el método setScene() de la clase nombrada Stage. Agregue el objeto Scene preparado en los pasos anteriores utilizando el siguiente método:
primaryStage.setScene(scene);
Paso 8: Visualización del contenido del escenario
Muestre el contenido de la escena usando el método llamado show () de la clase Stage de la siguiente manera.
primaryStage.show();
Paso 9: lanzamiento de la aplicación
Inicie la aplicación JavaFX llamando al método estático launch () de la clase Application desde el método principal de la siguiente manera:
public static void main(String args[]){
launch(args);
}
Ejemplo
A continuación se muestra un programa que genera una caja 3D usando JavaFX. Guarde este código en un archivo con el nombreBoxExample.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 y ejecute el archivo java guardado desde el símbolo del sistema utilizando los siguientes comandos.
javac BoxExample.java
java BoxExample
Al ejecutarse, el programa anterior genera una ventana JavaFX que muestra un cuadro 3D como se muestra a continuación: