Úvod do JavaFX GridPane

JavaFX GridPane je kontejner, který rozděluje své děti do mřížky. V GridPane existují určitá pravidla pro velikost buněk. To znamená, že v řadě budou mít všechny buňky stejnou výšku, zatímco ve sloupci budou mít všechny buňky stejnou šířku. Java GridPane lze vytvořit z třídy javafx.scene.layout.GridPane. Počet sloupců a řádků v tomto panelu bude určen komponenty, které jsou do něj přidány. Nyní se podívejme na syntaxi GridPane.

Syntaxe JavaFX GridPane

Syntaxe GridPane je uvedena níže.

GridPane gp = new GridPane();

Konstruktory

Konstruktory pro JavaFX GridPane jsou následující:

  • GridPane () :

Rozvržení GridPane bude vytvořeno s vyrovnání TOP_LEFT a hgap nebo vgap rovným 0.

Vlastnosti JavaFX GridPane

Java GridPane má několik vlastností. Oni jsou :

  • zarovnání:

Zarovnání mřížky v rámci výšky a šířky panelu.

  • hgap:

Šířka vodorovné mezery mezi sloupci.

  • vgap:

Výška svislé mezery mezi řadami.

  • gridLinesVisible:

Tato vlastnost se používá hlavně pro účely ladění. To znamená, že řídí, zda jsou zobrazeny řádky, aby se zobrazily řádky a sloupce Gridpane.

Metody JavaFX GridPane

Java GridPane má několik metod, které provádějí různé funkce.

Některé z běžně používaných metod jsou vysvětleny níže.

  • clearConstraints (Nodechild): Omezení GridPane bude odstraněno z podřízeného uzlu.
  • computeMinWidth (dvojitá výška): Minimální šířka oblasti bude vypočítána pomocí této metody.
  • computeMinHeight (dvojitá šířka): Minimální výška oblasti bude vypočítána pomocí této metody.
  • getAlignment (): hodnota vlastnosti zarovnání bude vrácena.
  • setAlignment (Posvalue): Bude nastavena hodnota vlastnosti zarovnání.
  • getMargin (Nodechild): bude vrácena hodnota omezení okrajů.
  • computePrefWidth (dvojitá výška): Bude vypočítána preferovaná šířka pro oblast, která je pro danou výšku potřebná.
  • computePrefHeight (dvojitá šířka): Bude vypočítána preferovaná výška pro oblast, která je pro danou šířku potřebná.

Příklady implementace JavaFX GridPane

Nyní se podívejme na různé programy JavaFX.

Příklad č. 1

Program Java pro demonstraci mříž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ýstup

Při provádění kódu se zobrazí dvě textová pole se 2 štítky a tlačítkem. Tato textová pole a tlačítka jsou na různých řádcích.

Příklad č. 2

Program Java pro demonstraci mřížky s řádky a sloupci

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ýstup

Vytvoří se podokno mřížky s 6 tlačítky ve formě matice 3 × 3. Maticový tvar 3 × 3 znamená, že 6 tlačítek je umístěno ve 3 řádcích a 3 sloupcích.

Příklad č. 3

Program Java pro demonstraci mříž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ýstup

Objeví se dialogové okno se 2 textovými poli, 1 tlačítkem a dvěma štítky.

Na rozdíl od výše uvedených programů je obsluha události přítomna, aby provedla akci kliknutím na tlačítko ve třetím řádku.

Je vidět, že po kliknutí na tlačítko se zobrazí text, který je stisknut.

Závěr

V JavaFX rozdělí GridPane děti v mřížkové formě, kde počet sloupců a řádků bude určen počtem přidaných komponent. Chcete-li tento panel použít, vytvořte instanci ze třídy javafx.scene.layout.GridPane. Více podrobností o Grid Pane je podrobně popsáno v tomto dokumentu.

Doporučené články

Toto je průvodce JavaFX GridPane. Zde diskutujeme konstruktor, metody a program pro implementaci JavaFX GridPane. Další informace naleznete také v následujících článcích -

  1. Aplikace JavaFX
  2. Posuvník JavaFX
  3. Rozložení JavaFX
  4. Štítek JavaFX
  5. JavaFX VBox | Top 15 metod JavaFX VBox
  6. Příklady Menu v JavaFX

Kategorie: