Uvod u JavaFX GridPane

JavaFX GridPane je spremnik koji postavlja svoju djecu u mrežu. Postoje određena pravila o veličini ćelija na GridPaneu. To znači da će zaredom sve ćelije imati istu visinu dok će u stupcu sve ćelije imati istu širinu. Java GridPane se može instancirati iz klase javafx.scene.layout.GridPane. Broj stupaca i redaka u ovom oknu bit će određen komponentama koje su mu dodane. Sada, pogledajmo sintaksu GridPane.

Sintaksa JavaFX GridPane

Sintaksa GridPane je prikazana dolje.

GridPane gp = new GridPane();

graditelji

Konstruktori za JavaFX GridPane su sljedeći:

  • GridPane () :

Stvorit će se GridPane izgled s TOP_LEFT poravnanjem i hgap ili vgap jednak 0.

Svojstva JavaFX GridPane

Java GridPane ima nekoliko svojstava. Oni su :

  • poravnanje:

Poravnavanje mreže unutar visine i širine okna.

  • hgap:

Širina vodoravne reže između stupaca.

  • vgap:

Okomita visina razmaka između redova.

  • gridLinesVisible:

Ovo se svojstvo uglavnom koristi za uklanjanje pogrešaka. Odnosno, kontrolira prikazuju li se redovi kako bi se prikazali redovi i stupci Gridpanea.

Metode JavaFX GridPane

Java GridPane ima nekoliko metoda koje izvode različite funkcionalnosti.

Neke od najčešće korištenih metoda objašnjene su u nastavku.

  • clearConstraints (Nodechild): ograničenja GridPane bit će uklonjena iz podređenog čvora.
  • computeMinWidth (dvostruka visina): Minimalna širina regije izračunava se ovom metodom.
  • computeMinHeight (dvostruka širina): Minimalna visina regije izračunava se ovom metodom.
  • getAlignment (): vrijednost svojstva poravnanja bit će vraćena.
  • setAlignment (Posvalue): postavit će se vrijednost svojstva poravnanja.
  • getMargin (Nodechild): vrijednost ograničenja marže će se vratiti.
  • computePrefWidth (dvostruka visina): izračunava se preferirana širina za regiju koja je potrebna za zadanu visinu.
  • computePrefHeight (dvostruka širina): Izračunat će se preferirana visina za regiju koja je potrebna za zadanu širinu.

Primjeri za implementaciju JavaFX GridPane

Sada, razgledajmo različite programe JavaFX.

Primjer 1

Java program za demonstriranje mrežnog okna

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

Izlaz

Pri izvršavanju koda prikazuju se dva tekstualna polja s 2 oznake i gumbom. Ova tekstualna polja i gumbi nalaze se u različitim redovima.

Primjer 2

Java program za demonstraciju okna rešetki sa redovima i stupovima

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

Izlaz

Stvara se rešetkasto okno sa 6 gumba u obliku matrice 3 × 3. Oblik matrice 3 × 3 znači da je 6 gumba smješteno u 3 reda i 3 stupca.

Primjer 3

Java program za demonstriranje mrežnog okna

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

Izlaz

Pojavit će se dijaloški okvir s 2 tekstualna polja, 1 gumbom i dvije oznake.

Za razliku od gore navedenih programa, program za obradu događaja prisutan je za rad s klikom na gumb u trećem redu.

Može se vidjeti da se klikom na gumb prikazuje tekst da je gumb pritisnut.

Zaključak

U JavaFX-u GridPane postavlja djecu u oblik mreže gdje će broj stupaca i redaka biti odlučen prema broju dodanih komponenti. Kako biste koristili ovo okno, instantirajte se iz klase javafx.scene.layout.GridPane. Više detalja o mrežnom oknu detaljno je obrađeno u ovom dokumentu.

Preporučeni članci

Ovo je vodič za JavaFX GridPane. Ovdje smo raspravljali o konstruktoru, metodama i programu za implementaciju JavaFX GridPane-a. Možete pogledati i sljedeće članke da biste saznali više -

  1. JavaFX aplikacije
  2. JavaFX klizač
  3. Izgled JavaFX-a
  4. Oznaka JavaFX
  5. JavaFX VBox | Top 15 metoda JavaFX VBox-a
  6. Primjeri izbornika na JavaFX-u

Kategorija: