Wprowadzenie do JavaFX GridPane

JavaFX GridPane to kontener, który układa swoje dzieci w siatkę. Istnieją pewne reguły dotyczące wielkości komórek w GridPane. Oznacza to, że z rzędu wszystkie komórki będą miały tę samą wysokość, podczas gdy w kolumnie wszystkie komórki będą miały tę samą szerokość. Java GridPane można utworzyć z klasy javafx.scene.layout.GridPane. Liczba kolumn i wierszy w tym panelu zostanie określona przez dodane do niego komponenty. Zobaczmy teraz składnię GridPane.

Składnia JavaFX GridPane

Składnia GridPane jest pokazana poniżej.

GridPane gp = new GridPane();

Konstruktory

Konstruktory dla JavaFX GridPane są następujące:

  • GridPane () :

Układ GridPane zostanie utworzony z wyrównaniem TOP_LEFT i wartością hgap lub vgap równą 0.

Właściwości JavaFX GridPane

Java GridPane ma kilka właściwości. Oni są :

  • wyrównanie:

Wyrównanie siatki w obrębie wysokości i szerokości panelu.

  • hgap:

Szerokość szczeliny poziomej między kolumnami.

  • vgap:

Wysokość szczeliny pionowej między rzędami.

  • gridLinesVisible:

Ta właściwość jest używana głównie do celów debugowania. Oznacza to, że kontroluje, czy linie mają być pokazywane w celu pokazania wierszy i kolumn Gridpane.

Metody JavaFX GridPane

Java GridPane ma kilka metod, które wykonują różne funkcje.

Niektóre z powszechnie stosowanych metod wyjaśniono poniżej.

  • clearConstraints (Nodechild): Ograniczenia GridPane zostaną usunięte z węzła potomnego.
  • computeMinWidth (podwójna wysokość): Minimalna szerokość regionu zostanie obliczona przy użyciu tej metody.
  • computeMinHeight (podwójna szerokość): Minimalna wysokość regionu zostanie obliczona przy użyciu tej metody.
  • getAlignment (): wartość właściwości wyrównania zostanie zwrócona.
  • setAlignment (Posvalue): wartość właściwości wyrównania zostanie ustawiona.
  • getMargin (Nodechild): wartość ograniczeń marży zostanie zwrócona.
  • computePrefWidth (podwójna wysokość): Obliczona zostanie preferowana szerokość regionu potrzebnego dla danej wysokości.
  • computePrefHeight (podwójna szerokość): Obliczona zostanie preferowana wysokość dla regionu potrzebnego dla danej szerokości.

Przykłady implementacji JavaFX GridPane

Zobaczmy teraz różne programy JavaFX.

Przykład 1

Program Java do demonstracji okienka siatki

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

Wynik

Podczas wykonywania kodu wyświetlane są dwa pola tekstowe z 2 etykietami i przyciskiem. Te pola tekstowe i przyciski znajdują się w różnych wierszach.

Przykład nr 2

Program Java do demonstracji okienka siatki z wierszami i kolumnami

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

Wynik

Panel siatki jest tworzony za pomocą 6 przycisków w postaci matrycy 3 × 3. Forma matrycy 3 × 3 oznacza, że ​​6 przycisków jest umieszczonych w 3 rzędach i 3 kolumnach.

Przykład nr 3

Program Java do demonstracji okienka siatki

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

Wynik

Pojawi się okno dialogowe z 2 polami tekstowymi, 1 przyciskiem i dwiema etykietami.

W przeciwieństwie do powyższych programów, moduł obsługi zdarzeń obsługuje akcję po kliknięciu przycisku w trzecim rzędzie.

Można zauważyć, że po kliknięciu przycisku wyświetlany jest tekst informujący o naciśnięciu przycisku.

Wniosek

W JavaFX GridPane określa elementy potomne w postaci siatki, w której liczba kolumn i wierszy będzie zależała od liczby dodanych do niej składników. Aby skorzystać z tego panelu, utwórz instancję z klasy javafx.scene.layout.GridPane. Więcej szczegółów na temat okienka siatki omówiono szczegółowo w tym dokumencie.

Polecane artykuły

To jest przewodnik po JavaFX GridPane. Tutaj omawiamy Konstruktor, Metody i Program do implementacji JavaFX GridPane. Możesz także przejrzeć następujące artykuły, aby dowiedzieć się więcej -

  1. Aplikacje JavaFX
  2. Suwak JavaFX
  3. Układy JavaFX
  4. Etykieta JavaFX
  5. JavaFX VBox | 15 najlepszych metod JavaFX VBox
  6. Przykłady menu w JavaFX