Введение в JavaFX HBox
JavaFX HBox - это компонент, который размещает дочерние узлы горизонтально. Для этого HBox, если присутствуют какие-либо вставки, содержание HBox будет отображаться внутри этих вставок. Класс HBox расширяется классом Pane и может создаваться из класса JavaFX.scene.layout.HBox. В отличие от VBox, добавление большего количества дочерних элементов не вставит его ниже предыдущего дочернего узла, но справа от предыдущего.
Конструкторы JavaFX HBox
Четыре конструктора могут быть использованы для реализации HBox в Java.
- HBox (): макет HBox будет создан с интервалом 0.
- HBox (Double s): будет создан макет HBox с интервалом s, указанным в качестве аргумента.
- HBox (двойной интервал, дочерние узлы ): будет создан макет HBox с указанными в аргументе узлами интервалов и дочерних узлов
- HBox (Node? Children): будет создан макет HBox с интервалом 0 и дочерними узлами, указанными, поскольку интервал не задан, здесь он принимает значение по умолчанию, равное 0.
Свойства JavaFX HBox
JavaFX HBox имеет три свойства, как показано ниже.
- alignment: свойство, используемое для выравнивания дочерних элементов, которое находится в пределах высоты и ширины HBox.
- fillHeight: изменяемые размеры дочерних узлов будут изменены до высоты HBox или сохранены в предпочтительной высоте при установке этого свойства как true.
- интервал: будет установлено количество горизонтального пространства между дочерними узлами в HBox.
15 лучших методов JavaFX HBox
Ниже приведены наиболее часто используемые методы в JavaFX HBox.
- getSpacing (): будет возвращено значение свойства Spacing.
- getHgrow (Nodechild): будет возвращено значение свойства Hgrow.
- setFillHeight (логическое значение): будет установлено значение свойства FillHeight.
- clearConstraints (Nodechild): ограничения HBox будут удалены из дочернего узла.
- isFillHeight (): будет возвращено значение свойства FillHeight.
- setAlignment (Posvalue): будет установлено значение свойства Alignment.
- setSpacing (double value): будет установлено значение свойства Spacing.
- getMargin (Nodechild): будет возвращено значение свойства Margin.
- spacingProperty (): горизонтальное пространство между дочерними узлами в HBox будет установлено.
- setMargin (Nodechild, Insets value): маржа для дочернего элемента будет установлена в HBox.
- computeMinWidth (double height): минимальная ширина области будет вычислена с использованием этого метода.
- computeMinHeight (double width): минимальная высота области будет вычислена с использованием этого метода.
- getAlignment (): будет возвращено значение свойства выравнивания.
- computePrefWidth (double height): будет вычислена предпочтительная ширина для области, которая необходима для данной высоты.
- computePrefHeight (double width): будет вычислена предпочтительная высота для области, которая необходима для данной ширины.
Примеры JavaFX HBox
Теперь давайте рассмотрим несколько примеров HBox с некоторыми методами, описанными в предыдущем разделе.
Пример № 1
Во-первых, создаются 2 кнопки b1 и b2 с текстом «Кнопка выборки 1 для HBox» и «Кнопка выборки 2 для HBox». Затем создайте HBox и сцену. После настройки сцены будут отображены результаты.
Код:
//Java program to create a HBox
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.HBox;
import javafx.stage.Stage;
//class that extends Application base class
public class JavaFXHBoxExample extends Application (
//application starts at this point
@Override
public void start(Stage s) throws Exception (
s.setTitle("HBox Example");
//create button 1
Button b1 = new Button("Sample button 1 for HBox");
Button b2 = new Button("Sample button 2 for HBox");
//create HBox
HBox hb = new HBox();
//create scene
Scene sc = new Scene(hb, 400, 200);
//add them
hb.getChildren().addAll(b1, b2);
//set the scene
s.setScene(sc);
//display the result
s.show();
)
//main method
public static void main(String() args) (
launch (args);
)
)
Выход:
Пример № 2
Во-первых, создайте HBox и ярлык. Затем добавьте созданный ярлык в HBox. Создайте кнопки с помощью цикла for, чтобы синтаксис создания кнопок больше не записывался. Создайте сцену и установите ее. После настройки сцены кнопки будут отображаться в центре.
Код:
//Java program to demonstrate JavaFX HBox with center alignment
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.*;
import javafx.scene.layout.*;
import javafx.stage.Stage;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Group;
import javafx.geometry.Pos;
//class that extends Application class
public class JavaFXHBoxExample extends Application (
// application starts at this point
public void start(Stage s)
(
try (
// set title
s.setTitle("HBox Example");
// create HBox
HBox hb = new HBox(10);
// create label
Label lb = new Label("Hey … This is the sample for JavaFX HBox !!");
// add the created label to HBox
hb.getChildren().add(lb);
// set alignment of the HBox
hb.setAlignment(Pos. CENTER );
// add buttons to HBox
for (int i = 0; i < 4; i++)
(
hb.getChildren().add(new Button("Sample Button " + (int)(i + 1)));
)
// create a scene
Scene sc = new Scene(hb, 700, 300);
// set the scene
s.setScene(sc);
s.show();
)
//catch the exception
catch (Exception e) (
System. out .println(e.getMessage());
)
)
// Main Method
public static void main(String args())
(
// launch the application
launch (args);
)
)
Выход:
Пример № 3
Во-первых, HBox создается с набором прокладок и вставок. Затем создайте ярлык с настроенным шрифтом. После этого создайте 4 кнопки и сцену. Наконец, установите сцену и отобразите результаты.
Код:
//Java program to create HBox with padding and insets
import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.layout.HBox;
import javafx.scene.text.Font;
import javafx.scene.text.FontWeight;
import javafx.stage.Stage;
public class JavaFXHBoxExample extends Application (
//main method
public static void main(String() args) (
Application. launch (args);
)
//application starts at this point
@Override
public void start(Stage s) (
//set title
s.setTitle("HBox Sample");
// Create HBox
HBox hb = new HBox();
//set padding
hb.setPadding(new Insets(10, 50, 50, 50));
//set spacing
hb.setSpacing(10);
//create label
Label lbl = new Label("This is the HBox");
//set font properties
lbl.setFont(Font. font ("Amble CN", FontWeight. BOLD, 24));
hb.getChildren().add(lbl);
// create Buttons
Button b1 = new Button();
b1.setText(" I am Button1");
hb.getChildren().add(b1);
Button b2 = new Button();
b2.setText("I am Button2");
hb.getChildren().add(b2);
Button b3 = new Button();
b3.setText("I am Button3");
hb.getChildren().add(b3);
Button b4 = new Button();
b4.setText("I am Button4");
hb.getChildren().add(b4);
// Add HBox to the scene that is created
Scene sc = new Scene(hb);
s.setScene(sc);
s.show();
)
)
Выход:
Вывод
JavaFX HBox - это компонент, который помогает расположить дочерние узлы горизонтально. Также новый ребенок будет добавлен прямо к предыдущему ребенку.
Рекомендуемая статья
Это руководство по JavaFX HBox. Здесь мы обсуждаем конструкторы, методы, свойства JavaFX HBox вместе с реализацией кода. Вы также можете просмотреть наши предлагаемые статьи, чтобы узнать больше -
- 5 лучших макетов JavaFX
- Приложения JavaFX с функциями
- JavaFX против Swing | Топ 6 Сравнение
- JavaFX Label (Примеры)
- Как создать флажок в JavaFX с примерами?
- Примеры реализации флажка в Bootstrap
- Полное руководство по цвету JavaFX
- JavaFX VBox | 15 лучших методов JavaFX VBox