JavaFX - Layout GridPane
Se usarmos o Painel de grade em nosso aplicativo, todos os nós adicionados a ele serão organizados de forma que formem uma grade de linhas e colunas. Este layout é útil ao criar formulários usando JavaFX.
A classe chamada GridPane do pacote javafx.scene.layoutrepresenta o GridPane. Esta classe fornece onze propriedades, que são -
alignment - Esta propriedade representa o alinhamento do painel e você pode definir o valor desta propriedade usando o setAlignment() método.
hgap - Esta propriedade é do tipo double e representa o vão horizontal entre as colunas.
vgap - Esta propriedade é do tipo double e representa o vão vertical entre as linhas.
gridLinesVisible- Esta propriedade é do tipo booleano. Em verdadeiro, as linhas do painel são definidas como visíveis.
A seguir estão as posições das células no painel de grade do JavaFX -
(0, 0) | (1, 0) | (2, 0) |
(2, 1) | (1, 1) | (0, 1) |
(2, 2) | (1, 2) | (0, 2) |
Exemplo
O programa a seguir é um exemplo do layout do painel de grade. Neste, estamos criando um formulário usando um painel de grade.
Salve este código em um arquivo com o 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);
}
}
Compile e execute o arquivo java salvo no prompt de comando usando os comandos a seguir.
javac GridPaneExample.java
java GridPaneExample
Ao ser executado, o programa acima gera uma janela JavaFX conforme mostrado abaixo.