Introducción a JavaFX VBox

En JavaFX, VBox es un componente que presenta su nodo secundario de manera vertical. Si tiene un conjunto de relleno o borde, los contenidos se mostrarán dentro de esas inserciones. Además, al agregar nuevos hijos, se colocan debajo del nodo hijo anterior. Si no se menciona la altura y el ancho, VBox considerará el tamaño predeterminado como el ancho y la altura de los niños y lo alineará a la posición superior izquierda. La clase VBox es extendida por la clase Pane y puede ser instanciada desde la clase javafx.scene.layout.VBox.

Constructores de JavaFX VBox

Para implementar el VBox en Java, se pueden usar cuatro constructores.

  • VBox (): se creará un diseño con 0 espacios.
  • VBox (doble espacio): se creará un diseño con el espacio especificado.
  • VBox (Espaciado doble, nodos secundarios): se creará un diseño con el espacio y los nodos secundarios especificados.
  • VBox (¿Nodo? Hijos): se creará un diseño con el espaciado 0 y los nodos hijos especificados.

Propiedades de JavaFX VBox

JavaFX VBox tiene tres propiedades como,

  • alineación: propiedad que se utiliza para la alineación de los elementos secundarios que está dentro del alto y ancho de VBox.
  • fillWidth: los nodos secundarios redimensionables se redimensionarán al ancho de VBox o se mantendrán en el ancho preferido al establecer esta propiedad como verdadera.
  • espaciado: se establecerá el espacio vertical entre los nodos secundarios en vbox.

Los 15 métodos principales de JavaFX VBox

A continuación se mencionan algunos métodos comúnmente utilizados en JavaFX VBox:

  1. clearConstraints (nodo secundario): las restricciones de VBox se eliminarán del nodo secundario.
  2. computeMinWidth (doble altura): el ancho mínimo de la región se calculará utilizando este método.
  3. computeMinHeight (doble ancho): la altura mínima de la región se calculará utilizando este método.
  4. getAlignment (): se devolverá el valor de la propiedad de alineación.
  5. isFillWidth (): se devolverá el valor de la propiedad fillWidth.
  6. setAlignment (Pos value): se establecerá el valor de la propiedad de alineación.
  7. setSpacing (valor doble): se establecerá el valor de la propiedad de espaciado.
  8. getMargin (nodo secundario): se devolverá el valor de la propiedad de margen.
  9. getSpacing (): se devolverá el valor de la propiedad de espaciado.
  10. getVgrow (Node child): se devolverá el valor de la propiedad vgrow.
  11. setFillWidth (valor booleano): se establecerá el valor de la propiedad fillWidth.
  12. spacingProperty (): se establecerá el espacio vertical entre los nodos secundarios en vbox.
  13. setMargin (Nodechild, Insets value): el margen para el hijo se establecerá en el VBox.
  14. computePrefWidth (doble altura): se calculará un ancho preferido para la región que se necesita para la altura dada.
  15. computePrefHeight (doble ancho): se calculará una altura preferida para la región que se necesita para el ancho dado.

Programas para implementar JavaFX VBox

Ahora, veamos algunos ejemplos de VBox con algunos de los métodos explicados en la sección anterior.

Ejemplo 1

Código:

//Java program to create a VBox
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
//class that extends Application base class
public class JavaFXVBoxExample extends Application (
//application starts at this point
@Override
public void start(Stage s) throws Exception (
//create button 1
Button b1 = new Button("Sample button 1 for VBox");
Button b2 = new Button("Sample button 2 for VBox");
//create vbox
VBox vb = new VBox();
//create scene
Scene sc = new Scene(vb, 200, 200);
//add them
vb.getChildren().addAll(b1, b2);
//set the scene
s.setScene(sc);
//display the result
s.show();
)
//main method
public static void main(String() args) (
launch(args);
)
)

Salida:

  • En primer lugar, se crean 2 botones b1 y b2 con el texto 'Botón de muestra 1 para VBox' y 'Botón de muestra 2 para VBox'.
  • Luego, crea un VBox y una escena.
  • Después de configurar la escena, se mostrarán los resultados.

Ejemplo # 2

Código:

//Java program to demonstrate JavaFX VBox with center alignment
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.*;
import javafx.scene.layout.*;
import javafx.stage.Stage;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Group;
import javafx.geometry.Pos;
//class that extends Application class
public class JavaFXVBoxExample extends Application (
// application starts at this point
public void start(Stage s)
(
try (
// set title
s.setTitle("VBox Example");
// create VBox
VBox vb = new VBox(10);
// create label
Label lb = new Label("Hey … This is the sample for JavaFX VBox !!");
// add the created label to vbox
vb.getChildren().add(lb);
// set alignment of the vbox
vb.setAlignment(Pos.CENTER);
// add buttons to VBox
for (int i = 0; i < 4; i++)
(
vb.getChildren().add(new Button("This is the sample button " + (int)(i + 1)));
)
// create a scene
Scene sc = new Scene(vb, 400, 300);
// set the scene
s.setScene(sc);
s.show();
)
//catch the exception
catch (Exception e) (
System.out.println(e.getMessage());
)
)
// Main Method
public static void main(String args())
(
// launch the application
launch(args);
)
)

Salida:

  • En primer lugar, cree un VBox y una etiqueta.
  • Luego, agregue la etiqueta creada a VBox.
  • Cree botones utilizando un bucle for para que la sintaxis de creación de botones no necesite volver a escribirse.
  • Crea una escena y configúrala.
  • Después de configurar la escena, los botones se mostrarán en el centro.

Ejemplo # 3

Código:

//Java program to create VBox with padding and insets
import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.layout.VBox;
import javafx.scene.text.Font;
import javafx.scene.text.FontWeight;
import javafx.stage.Stage;
public class JavaFXVBoxExample extends Application (
//main method
public static void main(String() args) (
Application.launch(args);
)
//application starts at this point
@Override
public void start(Stage s) (
//set title
s.setTitle("VBox Sample");
// Create VBox
VBox vb = new VBox();
//set padding
vb.setPadding(new Insets(10, 50, 50, 50));
//set spacing
vb.setSpacing(10);
//create label
Label lbl = new Label("This is the VBox");
//set font properties
lbl.setFont(Font.font("Amble CN", FontWeight.BOLD, 24));
vb.getChildren().add(lbl);
// create Buttons
Button b1 = new Button();
b1.setText(" I am Button1");
vb.getChildren().add(b1);
Button b2 = new Button();
b2.setText("I am Button2");
vb.getChildren().add(b2);
Button b3 = new Button();
b3.setText("I am Button3");
vb.getChildren().add(b3);
Button b4 = new Button();
b4.setText("I am Button4");
vb.getChildren().add(b4);
// Add VBox to the scene that is created
Scene sc = new Scene(vb);
s.setScene(sc);
s.show();
)
)

Salida:

  • En primer lugar, se crea un VBox con un conjunto de relleno e inserciones.
  • Luego, cree una etiqueta con una fuente personalizada.
  • Después de eso, crea 4 botones y una escena.
  • Finalmente, configure la escena y muestre los resultados.

Conclusión

JavaFX VBox es un componente que ayuda a los nodos secundarios a diseñar de manera vertical. Además, el nuevo hijo se agregará junto al hijo anterior de forma similar a una pila. En este documento se discuten más detalles sobre JavaFX VBox.

Artículos recomendados

Esta es una guía de JavaFX VBox. Aquí discutimos la introducción a JavaFX VBox y sus constructores con los 3 métodos principales y la implementación del programa. También puede consultar los siguientes artículos para obtener más información.

  1. Programas para implementar JavaFX Slider
  2. Diferencia entre Java Swing y Java FX
  3. Top 8 Gráficos en JavaFX
  4. Estructura de aplicaciones JavaFX
  5. ¿Cómo crear un menú en JavaFX?