Alineación de cuadrícula y nodo secundario en JavaFX

MD Aminul Islam 12 octubre 2023
Alineación de cuadrícula y nodo secundario en JavaFX

En JavaFX, hay un componente de interfaz de usuario llamado GridPane. A través de este componente de interfaz de usuario, todos los nodos secundarios se organizan en forma de cuadrícula de columnas y filas.

El paquete requerido para este componente es javafx.scene.layout.

En este artículo, discutiremos la alineación y explicaremos un ejemplo sobre este tema para una mejor comprensión.

Alineación de cuadrícula y nodo secundario en JavaFX

En el siguiente ejemplo, creamos un panel de cuadrícula con una etiqueta. El código de nuestro ejemplo se muestra a continuación.

import javafx.application.Application;
import javafx.geometry.HPos;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.layout.GridPane;
import javafx.scene.text.Text;
import javafx.stage.Stage;

public class FxGrid extends Application {
  @Override
  public void start(Stage stage) {
    Label lbl = new Label("Simple grid example ..."); // Creating a label with text
    GridPane gridPane = new GridPane(); // Creating a Grid Pane

    gridPane.setPadding(new Insets(10, 10, 10, 10)); // Set the padding of the gridpane

    // Set the vertical and horizontal gaps between the columns
    gridPane.setVgap(15);
    gridPane.setHgap(15);

    gridPane.add(lbl, 0, 1); // Adding the label to the grid pane
    gridPane.setAlignment(Pos.CENTER); // Align the grid pane
    GridPane.setHalignment(lbl, HPos.RIGHT); // Setting the alignment for the child node of grid
                                             // pane

    Scene scene = new Scene(gridPane, 300, 300); // Creating a scene  with necessary size

    stage.setTitle("Grid Alignment Example"); // Setting title to the Application

    stage.setScene(scene); // Adding scene to the stage

    stage.show(); // Displaying the contents of the stage
  }
  public static void main(String args[]) {
    launch(args); // Launching the application
  }
}

Ya hemos comentado anteriormente sobre el propósito de cada línea de código. Ahora, discutiremos las partes principales del tema aquí.

A través de la línea gridPane.setVgap(15); gridPane.setHgap(15);, creamos el espacio vertical y horizontal para cada columna. También agregamos relleno a través de la línea gridPane.setPadding(new Insets(10, 10, 10, 10));.

La parte más importante es alinear el panel de cuadrícula y los nodos secundarios por separado. En el código, a través de la línea gridPane.setAlignment(Pos.CENTER);, alineamos el grid panel, y a través de la línea GridPane.setHalignment(lbl, HPos.RIGHT);, alineamos los nodos secundarios del cuadrícula.

En nuestro caso, solo un nodo secundario tiene la etiqueta. Después de compilar el código de ejemplo anterior y ejecutarlo en su entorno, obtendrá el siguiente resultado.

Producción:

Salida de alineación de JavaFX GridPane

Alineaciones Hbox disponibles

A continuación se enumeran todas las alineaciones disponibles para los elementos secundarios del Panel de cuadrícula. Debe configurarlos dentro del método setHalignment().

El formato general de este método es setHalignment( ChildNode, Alignment).

alineaciones Descripción
HPos.BASELINE_LEFT Alinear verticalmente la línea de base, alinear horizontalmente a la izquierda
HPos.BASELINE_CENTER Alinear verticalmente la línea de base, alinear horizontalmente el centro
HPos.BASELINE_RIGHT Alinear verticalmente la línea de base, alinear horizontalmente a la derecha
HPos.BOTTOM_LEFT Alinear verticalmente abajo, alinear horizontalmente a la izquierda
HPos.BOTTOM_CENTER Alinear verticalmente la parte inferior, alinear horizontalmente el centro
HPos.BOTTOM_RIGHT Alinear verticalmente abajo, alinear horizontalmente a la derecha
HPos.CENTER_LEFT Alinear verticalmente al centro, alinear horizontalmente a la izquierda
HPos.CENTER Centro de alineación vertical, Centro de alineación horizontal
HPos.CENTER_RIGHT Alinear verticalmente al centro, alinear horizontalmente a la derecha
HPos.TOP_LEFT Alinear verticalmente arriba, alinear horizontalmente a la izquierda
HPos.TOP_CENTER Alinear verticalmente la parte superior, alinear horizontalmente el centro
HPos.TOP_RIGHT Alinear verticalmente arriba, alinear horizontalmente a la derecha

Recuerde, si su IDE no admite la inclusión automática de bibliotecas y paquetes. Luego, es posible que deba incluir manualmente estas bibliotecas y paquetes necesarios antes de compilar.

MD Aminul Islam avatar MD Aminul Islam avatar

Aminul Is an Expert Technical Writer and Full-Stack Developer. He has hands-on working experience on numerous Developer Platforms and SAAS startups. He is highly skilled in numerous Programming languages and Frameworks. He can write professional technical articles like Reviews, Programming, Documentation, SOP, User manual, Whitepaper, etc.

LinkedIn

Artículo relacionado - Java JavaFX