Introduktion till JavaFX GridPane

JavaFX GridPane är en behållare som lägger ut sina barn i ett rutnät. Det finns vissa regler för storleken på celler i GridPane. Det vill säga, i rad kommer alla celler att ha samma höjd, medan i en kolumn har alla celler samma bredd. Java GridPane kan instanseras från klassen javafx.scene.layout.GridPane. Räkningen av kolumner och rader i det här fönstret bestäms av komponenterna som läggs till. Låt oss nu se syntaxen för GridPane.

Syntax för JavaFX GridPane

Syntaxen för GridPane är som visas nedan.

GridPane gp = new GridPane();

konstruktörer

Konstruktörer för JavaFX GridPane är följande:

  • GridPane () :

En GridPane-layout skapas med TOP_LEFT-justering och en hgap eller vgap som är lika med 0.

Egenskaper för JavaFX GridPane

Java GridPane har flera egenskaper. Dom är :

  • anpassning:

Rita inriktning i rutans höjd och bredd.

  • hgap:

Den horisontella spaltbredden mellan kolumnerna.

  • vgap:

Vertikal gaphöjd mellan raderna.

  • gridLinesVisible:

Den här egenskapen används främst för felsökning. Det vill säga den styr om linjer visas för att visa rader och kolumner i Gridpane.

Metoder för JavaFX GridPane

Java GridPane har flera metoder som utför olika funktioner.

Några av de vanligtvis använda metoderna förklaras nedan.

  • clearConstraints (Nodechild): GridPane-begränsningar kommer att tas bort från barnnoden.
  • computeMinWidth (dubbel höjd): Regionens minsta bredd kommer att beräknas med den här metoden.
  • computeMinHeight (dubbel bredd): Minimihöjden för regionen kommer att beräknas med den här metoden.
  • getAlignment (): Justeringsegenskapens värde kommer att returneras.
  • setAlignment (Posvalue): Justeringsegenskapens värde kommer att ställas in.
  • getMargin (Nodechild): marginalbegränsningsvärdet kommer att returneras.
  • computePrefWidth (dubbel höjd): Den föredragna bredden för det område som behövs för den givna höjden kommer att beräknas.
  • computePrefHeight (dubbel bredd): Den föredragna höjden för det område som behövs för den givna bredden kommer att beräknas.

Exempel på implementering av JavaFX GridPane

Låt oss nu se olika JavaFX-program.

Exempel 1

Java-program för att visa rutnät

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

Två textfält med 2 etiketter och en knapp visas vid körning av koden. Dessa textfält och knappar finns i olika rader.

Exempel 2

Java-program för att visa rutnät med rader och kolumner

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

En rutfönster skapas med 6 knappar i en 3 × 3-matrisform. Matrisform med 3 × 3 betyder att 6 knappar placeras i 3 rader och 3 kolumner.

Exempel 3

Java-program för att visa rutnät

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

En dialogruta visas med två textfält, en knapp och två etiketter.

Till skillnad från ovanstående program finns en händelsehanterare för att hantera åtgärder genom att klicka på knappen på den tredje raden.

Det framgår att när du klickar på knappen visas en text som trycks på knappen.

Slutsats

I JavaFX lägger GridPane ut barnen i en rutform där antalet kolumner och rader kommer att bestämmas av antalet komponenter som läggs till i det. För att använda den här rutan, direkt från klassen javafx.scene.layout.GridPane. Mer information om Grid Pane diskuteras i detta dokument i detalj.

Rekommenderade artiklar

Detta är en guide till JavaFX GridPane. Här diskuterar vi konstruktören, metoderna och programmet för att implementera JavaFX GridPane. Du kan också titta på följande artiklar för att lära dig mer -

  1. JavaFX-applikationer
  2. JavaFX-reglage
  3. JavaFX-layouter
  4. JavaFX-etikett
  5. JavaFX VBox | Topp 15 metoder för JavaFX VBox
  6. Exempel på meny i JavaFX

Kategori: