Introduksjon til JavaFX GridPane

JavaFX GridPane er en container som legger ut barna sine i et rutenett. Det er visse regler for størrelsen på celler i GridPane. Det vil si at på rad vil alle celler ha samme høyde, mens alle celler i en kolonne har samme bredde. Java GridPane kan instantieres fra klassen javafx.scene.layout.GridPane. Antallet kolonner og rader i denne ruten vil bli bestemt av komponentene som er lagt til den. La oss se syntaksen til GridPane.

Syntaks for JavaFX GridPane

Syntaksen til GridPane er som vist nedenfor.

GridPane gp = new GridPane();

Constructors

Konstruktører for JavaFX GridPane er som følger:

  • GridPane () :

En GridPane-layout blir opprettet med TOP_LEFT-justering og en hgap eller vgap lik 0.

Egenskaper for JavaFX GridPane

Java GridPane har flere egenskaper. De er :

  • Justering :

Rutenettlinje innenfor rutenes høyde og bredde.

  • hgap:

Den horisontale spaltebredden mellom kolonnene.

  • vgap:

Vertikal gaphøyde mellom radene.

  • gridLinesVisible:

Denne egenskapen brukes hovedsakelig til feilsøking. Det vil si at den kontrollerer om linjer skal vises for å vise radene og kolonnene i Gridpane.

Metoder for JavaFX GridPane

Java GridPane har flere metoder som utfører forskjellige funksjoner.

Noen av de ofte brukte metodene blir forklart nedenfor.

  • clearConstraints (Nodechild): GridPane-begrensninger fjernes fra underordnede noder.
  • computeMinWidth (dobbel høyde): Minste bredde for regionen vil bli beregnet ved hjelp av denne metoden.
  • computeMinHeight (dobbel bredde): Minstehøyde for regionen vil bli beregnet ved hjelp av denne metoden.
  • getAlignment (): verdien for justeringsegenskapene blir returnert.
  • setAlignment (Posvalue): verdien for justeringsegenskapene blir satt.
  • getMargin (Nodechild): marginbegrensningsverdien vil bli returnert.
  • computePrefWidth (dobbel høyde): Den foretrukne bredden for området som er nødvendig for den gitte høyden, blir beregnet.
  • computePrefHeight (dobbel bredde): Den foretrukne høyden for området som er nødvendig for den gitte bredden, blir beregnet.

Eksempler på implementering av JavaFX GridPane

La oss nå se forskjellige JavaFX-programmer.

Eksempel 1

Java-program for å demonstrere rutenett

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

Produksjon

To tekstfelt med 2 etiketter og en knapp vises når du kjører koden. Disse tekstfeltene og knappene er i forskjellige rader.

Eksempel 2

Java-program for å demonstrere rutenett med rader og kolonner

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

Produksjon

En rutenett opprettes med 6 knapper i en 3 × 3 matriser. 3 × 3 matriksform betyr at 6 knapper er plassert i 3 rader og 3 kolonner.

Eksempel 3

Java-program for å demonstrere rutenett

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

Produksjon

Det vises en dialogboks med 2 tekstfelt, 1 knapp og to etiketter.

I motsetning til programmene ovenfor, er en hendelsesbehandler til stede for å håndtere handling ved å klikke på knappen på den tredje raden.

Det kan sees at ved å klikke på knappen vises en tekst som trykkes på knappen.

Konklusjon

I JavaFX legger GridPane ut barna i en rutenettform hvor antall kolonner og rader blir bestemt av antall komponenter lagt til i den. For å bruke denne ruten, øyeblikkelig fra klassen javafx.scene.layout.GridPane. Flere detaljer om Grid Pane blir diskutert i dette dokumentet i detalj.

Anbefalte artikler

Dette er en guide til JavaFX GridPane. Her diskuterer vi konstruktøren, metodene og programmet for å implementere JavaFX GridPane. Du kan også se på følgende artikler for å lære mer -

  1. JavaFX-applikasjoner
  2. JavaFX-glidebryteren
  3. JavaFX-oppsett
  4. JavaFX-etikett
  5. JavaFX VBox | Topp 15 metoder for JavaFX VBox
  6. Eksempler på Meny i JavaFX