Úvod do JavaFX GridPane

JavaFX GridPane je kontajner, ktorý určuje svoje deti v mriežke. V GridPane existujú určité pravidlá týkajúce sa veľkosti buniek. To znamená, že v rade budú mať všetky bunky rovnakú výšku, zatiaľ čo v stĺpci budú mať všetky bunky rovnakú šírku. Java GridPane je možné vytvoriť z triedy javafx.scene.layout.GridPane. Počet stĺpcov a riadkov v tejto table bude určený komponentmi, ktoré sa doň pridajú. Teraz sa pozrime na syntax GridPane.

Syntax JavaFX GridPane

Syntax programu GridPane je uvedená nižšie.

GridPane gp = new GridPane();

konštruktéri

Konštruktory pre JavaFX GridPane sú nasledujúce:

  • GridPane () :

Rozloženie GridPane sa vytvorí s zarovnaním TOP_LEFT a hgap alebo vgap rovným 0.

Vlastnosti JavaFX GridPane

Java GridPane má niekoľko vlastností. Oni sú :

  • zarovnanie:

Zarovnanie mriežky v rámci výšky a šírky tably.

  • hgap:

Šírka horizontálnej medzery medzi stĺpmi.

  • vgap:

Výška zvislej medzery medzi radmi.

  • gridLinesVisible:

Táto vlastnosť sa používa hlavne na účely ladenia. To znamená, že riadi, či sú zobrazené riadky, aby sa zobrazili riadky a stĺpce Gridpane.

Metódy JavaFX GridPane

Java GridPane má niekoľko metód, ktoré vykonávajú rôzne funkcie.

Niektoré z bežne používaných metód sú vysvetlené nižšie.

  • clearConstraints (Nodechild): GridPane obmedzenia budú odstránené z podradeného uzla.
  • computeMinWidth (dvojitá výška): Minimálna šírka oblasti sa vypočíta pomocou tejto metódy.
  • computeMinHeight (dvojitá šírka): Minimálna výška oblasti sa vypočíta pomocou tejto metódy.
  • getAlignment (): hodnota vlastnosti zarovnania bude vrátená.
  • setAlignment (Posvalue): nastaví sa hodnota vlastnosti zarovnania.
  • getMargin (Nodechild): vráti sa hodnota obmedzení okrajov.
  • computePrefWidth (dvojitá výška): Vypočíta sa preferovaná šírka pre oblasť, ktorá je potrebná pre danú výšku.
  • computePrefHeight (dvojitá šírka): Vypočíta sa preferovaná výška pre oblasť, ktorá je potrebná pre danú šírku.

Príklady implementácie JavaFX GridPane

Teraz sa pozrime na rôzne programy JavaFX.

Príklad č. 1

Program Java na demonštráciu mriežky

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

Výkon

Pri vykonávaní kódu sa zobrazia dve textové polia s 2 menovkami a tlačidlom. Tieto textové polia a tlačidlá sa nachádzajú v rôznych riadkoch.

Príklad č. 2

Program Java na demonštráciu mriežky s riadkami a stĺpcami

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

Výkon

Mriežka sa vytvorí pomocou 6 tlačidiel v maticovom formáte 3 × 3. Maticový tvar 3 × 3 znamená, že 6 tlačidiel je umiestnených v 3 radoch a 3 stĺpcoch.

Príklad č. 3

Program Java na demonštráciu mriežky

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

Výkon

Zobrazí sa dialógové okno s 2 textovými poľami, 1 tlačidlom a dvoma menovkami.

Na rozdiel od vyššie uvedených programov je obsluha udalostí prítomná na spracovanie akcie kliknutím na tlačidlo v treťom riadku.

Je vidieť, že po kliknutí na tlačidlo sa zobrazí text, ktorý je stlačený.

záver

V JavaFX, GridPane rozdeľuje deti do mriežky, kde počet stĺpcov a riadkov bude určený počtom komponentov, ktoré sú v nej pridané. Ak chcete použiť tento panel, vytvorte inštanciu z triedy javafx.scene.layout.GridPane. Viac podrobností o mriežke sa nachádza v tomto dokumente podrobne.

Odporúčané články

Toto je sprievodca JavaFX GridPane. Tu diskutujeme konštruktor, metódy a program na implementáciu JavaFX GridPane. Ďalšie informácie nájdete aj v nasledujúcich článkoch -

  1. Aplikácie JavaFX
  2. Posuvník JavaFX
  3. Rozloženie JavaFX
  4. Štítok JavaFX
  5. JavaFX VBox | Top 15 metód JavaFX VBox
  6. Príklady ponuky v JavaFX

Kategórie: