Введение в JavaFX VBox

В JavaFX VBox - это компонент, который размещает дочерний узел по вертикали. Если у него есть набор отступов или граница, содержимое будет отображаться внутри этих вставок. Более того, при добавлении новых дочерних элементов они помещаются ниже предыдущего дочернего узла. Если высота и ширина не указаны, VBox будет рассматривать размер по умолчанию как ширину и рост детей и выравнивать их по левому верхнему положению. Класс VBox расширяется классом Pane и может создаваться из класса javafx.scene.layout.VBox.

Конструкторы JavaFX VBox

Для реализации VBox в Java можно использовать четыре конструктора.

  • VBox (): макет будет создан с интервалом 0.
  • VBox (двойной интервал): будет создан макет с указанным интервалом.
  • VBox (двойной интервал, дочерние узлы ): будет создан макет с указанными узлами интервалов и дочерних узлов
  • VBox (Node? Children): будет создан макет с заданным интервалом 0 и дочерними узлами.

Свойства JavaFX VBox

JavaFX VBox имеет три свойства, такие как,

  • alignment: свойство, которое используется для выравнивания дочерних элементов, которое находится в пределах высоты и ширины VBox.
  • fillWidth: изменяемые размеры дочерних узлов будут изменены до ширины VBox или сохранены в предпочтительной ширине при установке этого свойства как true.
  • интервал: вертикальное пространство между дочерними узлами в vbox будет установлено.

15 лучших методов JavaFX VBox

Ниже упоминаются некоторые часто используемые методы в JavaFX VBox:

  1. clearConstraints (Node child): ограничения VBox будут удалены из дочернего узла.
  2. computeMinWidth (double height): минимальная ширина области будет вычислена с использованием этого метода.
  3. computeMinHeight (double width): минимальная высота области будет вычислена с использованием этого метода.
  4. getAlignment (): будет возвращено значение свойства выравнивания.
  5. isFillWidth (): будет возвращено значение свойства fillWidth.
  6. setAlignment (Pos value): будет установлено значение свойства выравнивания.
  7. setSpacing (double value): будет установлено значение свойства spacing.
  8. getMargin (Node child): будет возвращено значение свойства margin.
  9. getSpacing (): будет возвращено значение свойства spacing.
  10. getVgrow (Node child): будет возвращено значение свойства vgrow.
  11. setFillWidth (логическое значение): будет установлено значение свойства fillWidth.
  12. spacingProperty (): вертикальное пространство между дочерними узлами в vbox будет установлено.
  13. setMargin (Nodechild, Insets value): поле для дочернего элемента будет установлено в VBox.
  14. computePrefWidth (double height): будет вычислена предпочтительная ширина для области, которая необходима для данной высоты.
  15. computePrefHeight (double width): будет вычислена предпочтительная высота для области, которая необходима для данной ширины.

Программы для реализации JavaFX VBox

Теперь давайте рассмотрим несколько примеров VBox с некоторыми методами, описанными в предыдущем разделе.

Пример № 1

Код:

//Java program to create a VBox
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
//class that extends Application base class
public class JavaFXVBoxExample extends Application (
//application starts at this point
@Override
public void start(Stage s) throws Exception (
//create button 1
Button b1 = new Button("Sample button 1 for VBox");
Button b2 = new Button("Sample button 2 for VBox");
//create vbox
VBox vb = new VBox();
//create scene
Scene sc = new Scene(vb, 200, 200);
//add them
vb.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 кнопки b1 и b2 с текстом «Кнопка выборки 1 для VBox» и «Кнопка выборки 2 для VBox».
  • Затем создайте VBox и сцену.
  • После настройки сцены будут отображены результаты.

Пример № 2

Код:

//Java program to demonstrate JavaFX VBox 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 JavaFXVBoxExample extends Application (
// application starts at this point
public void start(Stage s)
(
try (
// set title
s.setTitle("VBox Example");
// create VBox
VBox vb = new VBox(10);
// create label
Label lb = new Label("Hey … This is the sample for JavaFX VBox !!");
// add the created label to vbox
vb.getChildren().add(lb);
// set alignment of the vbox
vb.setAlignment(Pos.CENTER);
// add buttons to VBox
for (int i = 0; i < 4; i++)
(
vb.getChildren().add(new Button("This is the sample button " + (int)(i + 1)));
)
// create a scene
Scene sc = new Scene(vb, 400, 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);
)
)

Выход:

  • Во-первых, создайте VBox и метку.
  • Затем добавьте созданный ярлык в VBox.
  • Создайте кнопки с помощью цикла for, чтобы синтаксис создания кнопок больше не записывался.
  • Создайте сцену и установите ее.
  • После настройки сцены кнопки будут отображаться в центре.

Пример № 3

Код:

//Java program to create VBox 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.VBox;
import javafx.scene.text.Font;
import javafx.scene.text.FontWeight;
import javafx.stage.Stage;
public class JavaFXVBoxExample 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("VBox Sample");
// Create VBox
VBox vb = new VBox();
//set padding
vb.setPadding(new Insets(10, 50, 50, 50));
//set spacing
vb.setSpacing(10);
//create label
Label lbl = new Label("This is the VBox");
//set font properties
lbl.setFont(Font.font("Amble CN", FontWeight.BOLD, 24));
vb.getChildren().add(lbl);
// create Buttons
Button b1 = new Button();
b1.setText(" I am Button1");
vb.getChildren().add(b1);
Button b2 = new Button();
b2.setText("I am Button2");
vb.getChildren().add(b2);
Button b3 = new Button();
b3.setText("I am Button3");
vb.getChildren().add(b3);
Button b4 = new Button();
b4.setText("I am Button4");
vb.getChildren().add(b4);
// Add VBox to the scene that is created
Scene sc = new Scene(vb);
s.setScene(sc);
s.show();
)
)

Выход:

  • Во-первых, VBox создается с набором прокладок и вставок.
  • Затем создайте ярлык с настроенным шрифтом.
  • После этого создайте 4 кнопки и сцену.
  • Наконец, установите сцену и отобразите результаты.

Вывод

JavaFX VBox - это компонент, который помогает расположить дочерние узлы в вертикальной плоскости. Кроме того, новый дочерний элемент будет добавлен рядом с предыдущим дочерним элементом, аналогичным стеку. Более подробная информация о JavaFX VBox обсуждается в этом документе.

Рекомендуемые статьи

Это руководство по JavaFX VBox. Здесь мы обсуждаем введение в JavaFX VBox и его конструкторы с тремя основными методами и реализацией программы. Вы также можете посмотреть следующие статьи, чтобы узнать больше

  1. Программы для реализации JavaFX Slider
  2. Разница между Java Swing и Java FX
  3. 8 лучших диаграмм в JavaFX
  4. Структура приложений JavaFX
  5. Как создать меню в JavaFX?