Вступ у 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 має три властивості, такі як,

  • вирівнювання: властивість, яка використовується для вирівнювання дітей, що знаходиться у межах висоти та ширини VBox.
  • fillWidth: Дозвільні дочірні вузли будуть змінені до ширини VBox або збережені у бажаній ширині, встановивши це властивість як істинне.
  • інтервал: буде встановлено вертикальний простір між дочірніми вузлами в vbox.

Топ-15 методів JavaFX VBox

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

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

Програми для реалізації 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
  2. Різниця між Java Swing та Java FX
  3. 8 найкращих графіків JavaFX
  4. Структура додатків JavaFX
  5. Як створити меню в JavaFX?