JavaFX - Diseño GridPane

Si usamos Grid Pane en nuestra aplicación, todos los nodos que se le agregan están ordenados de manera que forman una cuadrícula de filas y columnas. Este diseño es útil al crear formularios con JavaFX.

La clase nombrada GridPane del paquete javafx.scene.layoutrepresenta el GridPane. Esta clase proporciona once propiedades, que son:

  • alignment - Esta propiedad representa la alineación del panel y puede establecer el valor de esta propiedad utilizando el setAlignment() método.

  • hgap - Esta propiedad es del tipo double y representa el espacio horizontal entre columnas.

  • vgap - Esta propiedad es del tipo double y representa el espacio vertical entre filas.

  • gridLinesVisible- Esta propiedad es de tipo booleano. En verdadero, las líneas del panel están configuradas para ser visibles.

A continuación se muestran las posiciones de las celdas en el panel de cuadrícula de JavaFX:

(0, 0) (1, 0) (2, 0)
(2, 1) (1, 1) (0, 1)
(2, 2) (1, 2) (0, 2)

Ejemplo

El siguiente programa es un ejemplo del diseño del panel de cuadrícula. En esto, estamos creando un formulario usando un Panel de cuadrícula.

Guarde este código en un archivo con el nombre GridPaneExample.java.

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

public class GridPaneExample extends Application { 
   @Override 
   public void start(Stage stage) {      
      //creating label email 
      Text text1 = new Text("Email");       
      
      //creating label password 
      Text text2 = new Text("Password"); 
	  
      //Creating Text Filed for email        
      TextField textField1 = new TextField();       
      
      //Creating Text Filed for password        
      TextField textField2 = new TextField();  
       
      //Creating Buttons 
      Button button1 = new Button("Submit"); 
      Button button2 = new Button("Clear");  
      
      //Creating a Grid Pane 
      GridPane gridPane = new GridPane();    
      
      //Setting size for the pane  
      gridPane.setMinSize(400, 200); 
       
      //Setting the padding  
      gridPane.setPadding(new Insets(10, 10, 10, 10)); 
      
      //Setting the vertical and horizontal gaps between the columns 
      gridPane.setVgap(5); 
      gridPane.setHgap(5);       
      
      //Setting the Grid alignment 
      gridPane.setAlignment(Pos.CENTER); 
       
      //Arranging all the nodes in the grid 
      gridPane.add(text1, 0, 0); 
      gridPane.add(textField1, 1, 0); 
      gridPane.add(text2, 0, 1);       
      gridPane.add(textField2, 1, 1); 
      gridPane.add(button1, 0, 2); 
      gridPane.add(button2, 1, 2);  
      
      //Creating a scene object 
      Scene scene = new Scene(gridPane);  
      
      //Setting title to the Stage 
      stage.setTitle("Grid Pane 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 GridPaneExample.java 
java GridPaneExample

Al ejecutarse, el programa anterior genera una ventana JavaFX como se muestra a continuación.