Introduction à JavaFX GridPane

JavaFX GridPane est un conteneur qui présente ses enfants dans une grille. Il existe certaines règles sur la taille des cellules dans GridPane. Autrement dit, dans une rangée, toutes les cellules auront la même hauteur alors que, dans une colonne, toutes les cellules auront la même largeur. Java GridPane peut être instancié à partir de la classe javafx.scene.layout.GridPane. Le nombre de colonnes et de lignes dans ce volet sera déterminé par les composants qui y sont ajoutés. Voyons maintenant la syntaxe de GridPane.

Syntaxe de JavaFX GridPane

La syntaxe de GridPane est la suivante.

GridPane gp = new GridPane();

Constructeurs

Les constructeurs pour JavaFX GridPane sont les suivants:

  • GridPane () :

Une disposition GridPane sera créée avec un alignement TOP_LEFT et un hgap ou vgap égal à 0.

Propriétés de JavaFX GridPane

Java GridPane a plusieurs propriétés. Elles sont :

  • alignement:

Alignement de la grille dans la hauteur et la largeur du volet.

  • hgap:

La largeur de l'espace horizontal entre les colonnes.

  • vgap:

Hauteur d'écartement vertical entre les rangées.

  • gridLinesVisible:

Cette propriété est principalement utilisée à des fins de débogage. Autrement dit, il contrôle si les lignes sont affichées afin d'afficher les lignes et les colonnes de Gridpane.

Méthodes de JavaFX GridPane

Java GridPane possède plusieurs méthodes qui exécutent différentes fonctionnalités.

Certaines des méthodes couramment utilisées sont expliquées ci-dessous.

  • clearConstraints (Nodechild): les contraintes GridPane seront supprimées du nœud enfant.
  • computeMinWidth (double hauteur): la largeur minimale de la région sera calculée à l'aide de cette méthode.
  • computeMinHeight (double largeur): la hauteur minimale de la région sera calculée à l'aide de cette méthode.
  • getAlignment (): la valeur de la propriété d'alignement sera retournée.
  • setAlignment (Posvalue): la valeur de la propriété d'alignement sera définie.
  • getMargin (Nodechild): la valeur des contraintes de marge sera retournée.
  • computePrefWidth (double hauteur): La largeur préférée pour la région qui est nécessaire pour la hauteur donnée sera calculée.
  • computePrefHeight (double largeur): La hauteur préférée pour la région qui est nécessaire pour la largeur donnée sera calculée.

Exemples pour implémenter JavaFX GridPane

Voyons maintenant différents programmes JavaFX.

Exemple 1

Programme Java pour montrer le volet de la grille

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.GridPane;
import javafx.stage.Stage;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
public class JavaFXGridPaneExample extends Application (
//application starts at this point
@Override
public void start(Stage s) throws Exception (
//create label 1
Label lbl1=new Label("Name of the Guardian");
//create label 2
Label lbl2=new Label("Your name (IN CAPITALS ) ");
//create textfield 1
TextField t1=new TextField();
//create textfield 2
TextField t2=new TextField();
//create a button
Button b=new Button ("Click me ! !");
//create gridpane
GridPane gp=new GridPane();
//create scene
Scene sc = new Scene(gp, 500, 300);
//first row
gp.addRow(0, lbl1, t1);
//second row
gp.addRow(1, lbl2, t2);
//third row
gp.addRow(2, b);
//set scene
s.setScene(sc);
//display result
s.show();
)
//main method
public static void main(String() args) (
launch(args);
)
)

Production

Deux champs de texte avec 2 étiquettes et un bouton sont affichés lors de l'exécution du code. Ces champs de texte et boutons se trouvent sur différentes lignes.

Exemple # 2

Programme Java pour montrer le volet de la grille avec des lignes et des colonnes

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.GridPane;
import javafx.stage.Stage;
//class that extends application class
public class JavaFXGridPaneExample extends Application (
//application starts at this point
@Override
public void start(Stage s) throws Exception (
//set title
s.setTitle("GridPane Example");
//create buttons
Button b1 = new Button("This is Button A");
Button b2 = new Button("This is Button B");
Button b3 = new Button("This is Button C");
Button b4 = new Button("This is Button D");
Button b5 = new Button("This is Button E");
Button b6 = new Button("This is Button F");
//create grid pane
GridPane gp = new GridPane();
//add rows and columns to the pane
gp.add(b1, 0, 0, 1, 1);
gp.add(b4, 0, 1, 1, 1);
gp.add(b2, 2, 0, 1, 1);
gp.add(b6, 1, 1, 1, 1);
gp.add(b3, 1, 0, 1, 1);
gp.add(b5, 2, 1, 1, 1);
//create scene
Scene sc = new Scene(gp, 700, 100);
//set scene
s.setScene(sc);
//display the result
s.show();
)
//main method
public static void main(String() args) (
Application.launch(args);
)
)

Production

Un volet de grille est créé avec 6 boutons sous forme matricielle 3 × 3. La forme matricielle 3 × 3 signifie que 6 boutons sont placés sur 3 lignes et 3 colonnes.

Exemple # 3

Programme Java pour montrer le volet de la grille

import java.awt.Color;
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.GridPane;
import javafx.scene.layout.HBox;
import javafx.scene.text.Text;
import javafx.stage.Stage;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
//class that extends Application class
public class JavaFXGridPaneExample extends Application (
//application starts at this point
@Override
public void start(Stage s) throws Exception (
//create label 1
Label lbl1=new Label("Name of the Guardian");
//create label 2
Label lbl2=new Label("Your name (IN CAPITALS ) ");
//create textfield 1
TextField t1=new TextField();
//create textfield 2
TextField t2=new TextField();
//create a button
Button b=new Button ("Click me ! !");
//create gridpane
GridPane gp=new GridPane();
//create hbox
HBox hb = new HBox(10);
//set alignment for hbox
hb.setAlignment(Pos.BOTTOM_RIGHT);
//add the children
hb.getChildren().add(b);
gp.add(hb, 1, 4);
//create text
final Text actn = new Text();
gp.add(actn, 1, 6);
//on clicking the button
b.setOnAction(new EventHandler() (
//event that has to be triggered
@Override
public void handle(ActionEvent ev) (
//display text when the button is clicked
actn.setText("Click me button pressed");
)
));
//create scene
Scene sc = new Scene(gp, 500, 300);
//first row
gp.addRow(0, lbl1, t1);
//second row
gp.addRow(1, lbl2, t2);
//third row
gp.addRow(2, b);
//set scene
s.setScene(sc);
//display result
s.show();
)
//main method
public static void main(String() args) (
launch(args);
)
)

Production

Une boîte de dialogue apparaîtra avec 2 champs de texte, 1 bouton et deux étiquettes.

Contrairement aux programmes ci-dessus, un gestionnaire d'événements est présent pour gérer l'action en cliquant sur le bouton de la troisième ligne.

On peut voir qu'en cliquant sur le bouton, un texte s'affiche sur lequel le bouton est enfoncé.

Conclusion

Dans JavaFX, GridPane présente les enfants sous forme de grille où le nombre de colonnes et de lignes sera déterminé par le nombre de composants qui y sont ajoutés. Pour utiliser ce volet, instanciez à partir de la classe javafx.scene.layout.GridPane. Plus de détails sur le volet de grille sont discutés en détail dans ce document.

Articles recommandés

Ceci est un guide de JavaFX GridPane. Ici, nous discutons du constructeur, des méthodes et du programme pour implémenter JavaFX GridPane. Vous pouvez également consulter les articles suivants pour en savoir plus -

  1. Applications JavaFX
  2. JavaFX Slider
  3. Dispositions JavaFX
  4. Étiquette JavaFX
  5. JavaFX VBox | Top 15 des méthodes de JavaFX VBox
  6. Exemples de menu dans JavaFX