Introduktion til JavaFX GridPane

JavaFX GridPane er en container, der lægger sine børn i et gitter. Der er visse regler for størrelsen på celler i GridPane. Det vil sige, i række, vil alle celler have samme højde, mens alle celler i en søjle har samme bredde. Java GridPane kan instantieres fra klassen javafx.scene.layout.GridPane. Antallet af kolonner og rækker i denne rude bestemmes af de komponenter, der er føjet til det. Lad os nu se syntaks af GridPane.

Syntaks af JavaFX GridPane

Syntaxen for GridPane er som vist nedenfor.

GridPane gp = new GridPane();

Constructors

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

  • GridPane () :

Et GridPane-layout oprettes med TOP_LEFT-justering og en hgap eller vgap, der er lig med 0.

Egenskaber ved JavaFX GridPane

Java GridPane har flere egenskaber. De er :

  • justering :

Ridtilpasning inden for rudenes højde og bredde.

  • hgap:

Den vandrette mellemrumsbredde mellem søjlerne.

  • vgap:

Lodret afstand mellem rækkerne.

  • gridLinesVisible:

Denne egenskab bruges hovedsageligt til fejlfinding. Det vil sige, det kontrollerer, om linier vises for at vise rækker og kolonner i Gridpane.

Metoder til JavaFX GridPane

Java GridPane har flere metoder, der udfører forskellige funktionaliteter.

Nogle af de ofte anvendte metoder er forklaret nedenfor.

  • clearConstraints (Nodechild): GridPane-begrænsninger fjernes fra underordnede knude.
  • computeMinWidth (dobbelt højde): Regionens mindste bredde beregnes ved hjælp af denne metode.
  • computeMinHeight (dobbelt bredde): Regionens mindste højde beregnes ved hjælp af denne metode.
  • getAlignment (): Justeringsegenskabets værdi returneres.
  • setAlignment (Posvalue): værdien for justeringsegenskaber indstilles.
  • getMargin (Nodechild): marginbegrænsningsværdien returneres.
  • computePrefWidth (dobbelt højde): Den foretrukne bredde for det område, der er nødvendigt for den givne højde, beregnes.
  • computePrefHeight (dobbelt bredde): Den foretrukne højde for det område, der er nødvendigt for den givne bredde, beregnes.

Eksempler på implementering af JavaFX GridPane

Lad os nu se forskellige JavaFX-programmer.

Eksempel 1

Java-program til at demonstrere gitterrute

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

Produktion

To tekstfelter med 2 etiketter og en knap vises ved udførelse af koden. Disse tekstfelter og knapper findes i forskellige rækker.

Eksempel 2

Java-program til at demonstrere ruten med rækker 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);
)
)

Produktion

Der oprettes en rude med 6 knapper i en 3 × 3 matrixform. 3 × 3 matrixform betyder, at 6 knapper er placeret i 3 rækker og 3 kolonner.

Eksempel 3

Java-program til at demonstrere gitterrute

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

Produktion

Der vises en dialogboks med 2 tekstfelter, 1 knap og to etiketter.

I modsætning til ovenstående programmer er en begivenhedshåndterer til stede for at håndtere handling ved at klikke på knappen på den tredje række.

Det kan ses, at når man klikker på knappen, vises en tekst, der trykkes på knappen.

Konklusion

I JavaFX fastlægger GridPane børnene i en gitterform, hvor antallet af kolonner og rækker afgøres af antallet af komponenter, der er tilføjet i det. For at bruge denne rude skal du gå direkte fra klassen javafx.scene.layout.GridPane. Flere detaljer om rutenet diskuteres i dette dokument i detaljer.

Anbefalede artikler

Dette er en guide til JavaFX GridPane. Her diskuterer vi konstruktøren, metoderne og programmet til implementering af JavaFX GridPane. Du kan også se på de følgende artikler for at lære mere -

  1. JavaFX-applikationer
  2. JavaFX-skyderen
  3. JavaFX-layout
  4. JavaFX-etiket
  5. JavaFX VBox | Top 15 metoder til JavaFX VBox
  6. Eksempler på Menu i JavaFX

Kategori: