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.