Inleiding tot JavaFX GridPane

JavaFX GridPane is een container die zijn kinderen in een raster plaatst. Er zijn bepaalde regels voor de grootte van cellen in GridPane. Dat wil zeggen dat op een rij alle cellen dezelfde hoogte hebben, terwijl in een kolom alle cellen dezelfde breedte hebben. Java GridPane kan worden geïnstantieerd vanuit de klasse javafx.scene.layout.GridPane. Het aantal kolommen en rijen in dit venster wordt bepaald door de componenten die eraan worden toegevoegd. Laten we nu de syntaxis van GridPane bekijken.

Syntaxis van JavaFX GridPane

De syntaxis van GridPane is zoals hieronder weergegeven.

GridPane gp = new GridPane();

constructors

Constructors voor JavaFX GridPane is als volgt:

  • GridPane () :

Er wordt een GridPane-lay-out gemaakt met TOP_LEFT-uitlijning en een hgap of vgap gelijk aan 0.

Eigenschappen van JavaFX GridPane

Java GridPane heeft verschillende eigenschappen. Zij zijn :

  • uitlijning:

Rasteruitlijning binnen de hoogte en breedte van het paneel.

  • hgap:

De horizontale spleetbreedte tussen de kolommen.

  • vgap:

Verticale spleethoogte tussen de rijen.

  • gridLinesVisible:

Deze eigenschap wordt voornamelijk gebruikt voor foutopsporing. Dat wil zeggen, het bepaalt of lijnen worden weergegeven om de rijen en kolommen van Gridpane weer te geven.

Methoden van JavaFX GridPane

Java GridPane heeft verschillende methoden die verschillende functionaliteiten uitvoeren.

Enkele van de meest gebruikte methoden worden hieronder uitgelegd.

  • clearConstraints (Nodechild): GridPane-beperkingen worden verwijderd uit het onderliggende knooppunt.
  • computeMinWidth (dubbele hoogte): de minimale breedte van het gebied wordt met deze methode berekend.
  • computeMinHeight (dubbele breedte): de minimale hoogte van het gebied wordt met deze methode berekend.
  • getAlignment (): de waarde van de eigenschap alignment wordt geretourneerd.
  • setAlignment (Posvalue): de waarde van de uitlijningseigenschap wordt ingesteld.
  • getMargin (Nodechild): waarde voor margebeperkingen wordt geretourneerd.
  • computePrefWidth (dubbele hoogte): de gewenste breedte voor het gebied dat nodig is voor de gegeven hoogte wordt berekend.
  • computePrefHeight (dubbele breedte): de gewenste hoogte voor het gebied dat nodig is voor de gegeven breedte wordt berekend.

Voorbeelden om JavaFX GridPane te implementeren

Laten we nu verschillende JavaFX-programma's bekijken.

Voorbeeld 1

Java-programma om rasterpaneel te demonstreren

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);
)
)

uitgang

Twee tekstvelden met 2 labels en een knop worden weergegeven bij het uitvoeren van de code. Deze tekstvelden en knoppen staan ​​op verschillende rijen.

Voorbeeld 2

Java-programma om rasterpaneel met rijen en kolommen te demonstreren

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);
)
)

uitgang

Een rasterpaneel wordt gemaakt met 6 knoppen in een 3 × 3-matrixvorm. 3 × 3 matrixvorm betekent dat 6 knoppen in 3 rijen en 3 kolommen worden geplaatst.

Voorbeeld 3

Java-programma om rasterpaneel te demonstreren

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);
)
)

uitgang

Er verschijnt een dialoogvenster met 2 tekstvelden, 1 knop en twee labels.

In tegenstelling tot de bovenstaande programma's, is een gebeurtenishandler aanwezig om actie af te handelen bij het klikken op de knop op de derde rij.

Het is te zien dat bij het klikken op de knop een tekst wordt weergegeven dat de knop wordt ingedrukt.

Conclusie

In JavaFX legt GridPane de kinderen in een rastervorm op, waarbij het aantal kolommen en rijen wordt bepaald door het aantal toegevoegde componenten. Om dit paneel te gebruiken, moet u instantiëren vanuit de klasse javafx.scene.layout.GridPane. Meer details over Grid Pane worden in dit document in detail besproken.

Aanbevolen artikelen

Dit is een handleiding voor JavaFX GridPane. Hier bespreken we de constructor, methoden en het programma om JavaFX GridPane te implementeren. U kunt ook de volgende artikelen bekijken voor meer informatie -

  1. JavaFX-toepassingen
  2. JavaFX-schuifregelaar
  3. JavaFX-indelingen
  4. JavaFX-label
  5. JavaFX VBox | Top 15 methoden van JavaFX VBox
  6. Voorbeelden van Menu in JavaFX