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 -
- JavaFX aplikacije
- JavaFX klizač
- Izgled JavaFX-a
- Oznaka JavaFX
- JavaFX VBox | Top 15 metoda JavaFX VBox-a
- Primjeri izbornika na JavaFX-u