JavaFX - Layout GridPane

Se usiamo Grid Pane nella nostra applicazione, tutti i nodi che vengono aggiunti ad esso sono disposti in modo da formare una griglia di righe e colonne. Questo layout è utile durante la creazione di moduli utilizzando JavaFX.

La classe denominata GridPane del pacchetto javafx.scene.layoutrappresenta il GridPane. Questa classe fornisce undici proprietà, che sono:

  • alignment - Questa proprietà rappresenta l'allineamento del riquadro ed è possibile impostare il valore di questa proprietà utilizzando il setAlignment() metodo.

  • hgap - Questa proprietà è del tipo double e rappresenta lo spazio orizzontale tra le colonne.

  • vgap - Questa proprietà è del tipo double e rappresenta lo spazio verticale tra le righe.

  • gridLinesVisible- Questa proprietà è di tipo booleano. In true, le linee del riquadro sono impostate per essere visibili.

Di seguito sono riportate le posizioni delle celle nel riquadro della griglia di JavaFX:

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

Esempio

Il seguente programma è un esempio del layout del riquadro della griglia. In questo, stiamo creando un modulo utilizzando un riquadro a griglia.

Salva questo codice in un file con il nome 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); 
   } 
}

Compilare ed eseguire il file java salvato dal prompt dei comandi utilizzando i seguenti comandi.

javac GridPaneExample.java 
java GridPaneExample

All'esecuzione, il programma di cui sopra genera una finestra JavaFX come mostrato di seguito.