Въведение в JavaFX GridPane

JavaFX GridPane е контейнер, който поставя децата си в мрежа. Има определени правила за размера на клетките в GridPane. Тоест, в един ред всички клетки ще имат еднаква височина, докато в колона всички клетки ще имат една и съща ширина. Java GridPane може да бъде инстанциран от класа javafx.scene.layout.GridPane. Броят на колоните и редовете в този прозорец ще се определя от добавените към него компоненти. Сега, нека да видим синтаксиса на GridPane.

Синтаксис на JavaFX GridPane

Синтаксисът на GridPane е както е показано по-долу.

GridPane gp = new GridPane();

конструкторите

Конструкторите за JavaFX GridPane са както следва:

  • GridPane () :

Ще се създаде GridPane оформление с подравняване TOP_LEFT и hgap или vgap, равно на 0.

Свойства на JavaFX GridPane

Java GridPane има няколко свойства. Те са :

  • подравняване :

Подравняване на решетката във височината и ширината на панела.

  • hgap:

Ширината на хоризонталната междина между колоните.

  • vgap:

Вертикална височина на пролуката между редовете.

  • gridLinesVisible:

Това свойство се използва главно за отстраняване на грешки. Тоест, той контролира дали редовете се показват, за да се покажат редовете и колоните на Gridpane.

Методи на JavaFX GridPane

Java GridPane има няколко метода, които изпълняват различни функции.

Някои от често използваните методи са обяснени по-долу.

  • clearConstraints (Nodechild): Ограниченията на GridPane ще бъдат премахнати от дъщерния възел.
  • computeMinWidth (двойна височина): Минималната ширина на региона ще бъде изчислена с помощта на този метод.
  • computeMinHeight (двойна ширина): Минималната височина на региона ще бъде изчислена с помощта на този метод.
  • getAlignment (): стойността на свойството за подравняване ще бъде върната.
  • setAlignment (Posvalue): стойността на свойството за подравняване ще бъде зададена.
  • getMargin (Nodechild): стойността на ограниченията на маржа ще бъде върната.
  • computePrefWidth (двойна височина): Предпочитаната ширина за региона, която е необходима за дадената височина, ще бъде изчислена.
  • computePrefHeight (двойна ширина): Предпочитаната височина за региона, която е необходима за дадената ширина, ще бъде изчислена.

Примери за внедряване на JavaFX GridPane

Сега, нека да видим различни JavaFX програми.

Пример №1

Java програма за демонстриране на мрежов прозорец

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

продукция

При изпълнение на кода се показват две текстови полета с 2 етикета и бутон. Тези текстови полета и бутони са в различни редове.

Пример №2

Java програма за демонстриране на мрежов прозорец с редове и колони

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

продукция

Създава се панел с решетка с 6 бутона във форма на матрица 3 × 3. 3 × 3 матрична форма означава, че 6 бутона са поставени в 3 реда и 3 колони.

Пример №3

Java програма за демонстриране на мрежов прозорец

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

продукция

Ще се появи диалогов прозорец с 2 текстови полета, 1 бутон и два етикета.

За разлика от горните програми, за обработка на действия при натискане на бутона на третия ред е наличен манипулатор на събития.

Вижда се, че при натискане на бутона се извежда текст, че бутонът е натиснат.

заключение

В JavaFX GridPane излага децата под формата на решетка, където броят на колоните и редовете ще се определя от броя добавени в него компоненти. За да използвате този прозорец, инстанцирайте от класа javafx.scene.layout.GridPane. Повече подробности за Grid Pane са разгледани в този документ подробно.

Препоръчителни статии

Това е ръководство за JavaFX GridPane. Тук обсъждаме конструктора, методите и програмата за внедряване на JavaFX GridPane. Можете също да разгледате следните статии, за да научите повече -

  1. JavaFX приложения
  2. JavaFX плъзгач
  3. Оформления на JavaFX
  4. Етикет на JavaFX
  5. JavaFX VBox | Топ 15 методи на JavaFX VBox
  6. Примери за меню в JavaFX