JavaFX - Paneles de diseño VBox
Si usamos VBox como diseño en nuestra aplicación, todos los nodos se establecen en una sola columna vertical.
La clase nombrada VBox del paquete javafx.scene.layoutrepresenta el panel VBox. Esta clase contiene cinco propiedades, que son:
alignment- Esta propiedad representa la alineación de los nodos dentro de los límites del VBox. Puede establecer el valor de esta propiedad mediante el método settersetAlignment().
fillHeight- Esta propiedad es de tipo booleano y al establecer esto como verdadero; los nodos de tamaño variable en VBox se redimensionan a la altura de VBox. Puede establecer el valor de esta propiedad utilizando el método settersetFillHeight().
spacing- Esta propiedad es de tipo doble y representa el espacio entre los hijos del VBox. Puede establecer el valor de esta propiedad utilizando el método settersetSpacing().
Además de estos, esta clase también proporciona los siguientes métodos:
setVgrow()- Establece la prioridad de crecimiento vertical para el niño cuando está contenido en un VBox. Este método acepta un nodo y un valor de prioridad.
setMargin()- Con este método, puede establecer márgenes para el VBox. Este método acepta un nodo y un objeto de la clase Insets (un conjunto de compensaciones internas para los 4 lados de un área rectangular)
Ejemplo
El siguiente programa es un ejemplo del VBoxdiseño. En esto, estamos insertando un campo de texto y dos botones, reproducir y detener. Esto se hace con un espaciado de 10 y cada uno tiene márgenes con dimensiones - (10, 10, 10, 10).
Guarde este código en un archivo con el nombre VBoxExample.java.
import javafx.application.Application;
import javafx.collections.ObservableList;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.TextField;
import javafx.stage.Stage;
import javafx.scene.layout.VBox;
public class VBoxExample extends Application {
@Override
public void start(Stage stage) {
//creating a text field
TextField textField = new TextField();
//Creating the play button
Button playButton = new Button("Play");
//Creating the stop button
Button stopButton = new Button("stop");
//Instantiating the VBox class
VBox vBox = new VBox();
//Setting the space between the nodes of a VBox pane
vBox.setSpacing(10);
//Setting the margin to the nodes
vBox.setMargin(textField, new Insets(20, 20, 20, 20));
vBox.setMargin(playButton, new Insets(20, 20, 20, 20));
vBox.setMargin(stopButton, new Insets(20, 20, 20, 20));
//retrieving the observable list of the VBox
ObservableList list = vBox.getChildren();
//Adding all the nodes to the observable list
list.addAll(textField, playButton, stopButton);
//Creating a scene object
Scene scene = new Scene(vBox);
//Setting title to the Stage
stage.setTitle("Vbox Example");
//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 VBoxExample.java
java VBoxExample.java
Al ejecutarse, el programa anterior genera una ventana JavaFX como se muestra a continuación.