Въведение в 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. Можете също да разгледате следните статии, за да научите повече -
- JavaFX приложения
- JavaFX плъзгач
- Оформления на JavaFX
- Етикет на JavaFX
- JavaFX VBox | Топ 15 методи на JavaFX VBox
- Примери за меню в JavaFX