Úvod do JavaFX VBox

V JavaFX je VBox komponent, ktorý vertikálnym spôsobom rozdeľuje svoje detské uzly. Ak má výplňovú sadu alebo orámovanie, obsah sa v rámci týchto vložiek zobrazí. Okrem toho sú pri pridávaní nových detí umiestnené pod predchádzajúcim uzlom dieťaťa. Ak nie je uvedená žiadna výška a šírka, VBox bude považovať predvolenú veľkosť za detskú šírku a výšku a zarovná ju s ľavou hornou pozíciou. Trieda VBox je rozšírená o triedu Pane a môže byť vytvorená z triedy javafx.scene.layout.VBox.

Konštruktori JavaFX VBox

Na implementáciu VBoxu v Java je možné použiť štyroch konštruktorov.

  • VBox (): Rozloženie sa vytvorí s 0 medzerami.
  • VBox (Double spacing): Vytvorí sa rozloženie so zadaným odstupom.
  • VBox (Dvojité medzery, podriadené uzly): Vytvorí sa rozloženie so zadanými medzerami a podriadenými uzlami.
  • VBox (Uzol? Deti): Vytvorí sa rozloženie so zadanou medzerou 0 a určenými detskými uzlami.

Vlastnosti JavaFX VBox

JavaFX VBox má tri vlastnosti, ako napríklad:

  • zarovnanie: Vlastnosť, ktorá sa používa na zarovnanie detí v rámci výšky a šírky VBoxu.
  • fillWidth: Nastaviteľné vlastnosti detských uzlov budú zmenené na šírku VBoxu alebo budú zachované v preferovanej šírke.
  • spacing: Nastaví sa vertikálny priestor medzi podriadenými uzlami vboxu.

Top 15 metód JavaFX VBox

Nižšie sú uvedené niektoré bežne používané metódy v JavaFX VBox:

  1. clearConstraints (potomok uzla): Obmedzenia VBox sa odstránia z podradeného uzla.
  2. computeMinWidth (dvojitá výška): Minimálna šírka oblasti sa vypočíta pomocou tejto metódy.
  3. computeMinHeight (dvojitá šírka): Minimálna výška oblasti sa vypočíta pomocou tejto metódy.
  4. getAlignment (): hodnota vlastnosti zarovnania bude vrátená.
  5. isFillWidth (): vráti sa hodnota vlastnosti fillWidth.
  6. setAlignment (hodnota Pos): nastaví sa hodnota vlastnosti zarovnania.
  7. setSpacing (dvojitá hodnota): nastaví sa hodnota vlastnosti spacing.
  8. getMargin (Node child): hodnota vlastnosti margin bude vrátená.
  9. getSpacing (): hodnota vlastnosti spacing bude vrátená.
  10. getVgrow (Uzol dieťa): Hodnota vlastnosti vgrow bude vrátená.
  11. setFillWidth (booleovská hodnota): nastaví sa hodnota vlastnosti fillWidth.
  12. spacingProperty (): Nastaví sa vertikálny priestor medzi podriadenými uzlami vboxe.
  13. setMargin (Nodechild, Insets value): Marža pre dieťa bude nastavená vo VBoxe.
  14. computePrefWidth (dvojitá výška): Vypočíta sa preferovaná šírka pre oblasť, ktorá je potrebná pre danú výšku.
  15. computePrefHeight (dvojitá šírka): Vypočíta sa preferovaná výška pre oblasť, ktorá je potrebná pre danú šírku.

Programy na implementáciu JavaFX VBox

Teraz sa pozrime na príklady VBox s niektorými metódami vysvetlenými v sekcii vyššie.

Príklad č. 1

kód:

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

Výkon:

  • Najprv sa vytvoria dve tlačidlá b1 a b2 s textom „Vzorové tlačidlo 1 pre VBox“ a „Vzorové tlačidlo 2 pre VBox“.
  • Potom vytvorte VBox a scénu.
  • Po nastavení scény sa zobrazia výsledky.

Príklad č. 2

kód:

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

Výkon:

  • Najprv vytvorte VBox a štítok.
  • Potom pridajte vytvorený štítok do VBoxu.
  • Tlačidlá vytvárajte pomocou slučky for, aby sa už nemuselo písať syntax tvorby tlačidiel.
  • Vytvorte scénu a nastavte ju.
  • Po nastavení scény sa v strede zobrazia tlačidlá.

Príklad č. 3

kód:

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

Výkon:

  • Najprv sa vytvorí VBox so sadou výplní a vložiek.
  • Potom vytvorte štítok s prispôsobeným písmom.
  • Potom vytvorte 4 tlačidlá a scénu.
  • Nakoniec nastavte scénu a zobrazte výsledky.

záver

JavaFX VBox je komponent, ktorý pomáha rozmiestneniu podriadených uzlov vertikálnym spôsobom. Nové dieťa sa tiež pridá vedľa predchádzajúceho dieťaťa podobne ako v zásobníku. Viac podrobností o JavaFX VBox je uvedený v tomto dokumente.

Odporúčané články

Toto je sprievodca JavaFX VBox. Tu diskutujeme úvod do JavaFX VBox a jeho konštruktorov s top 3 metódami a implementáciou programu. Viac informácií nájdete aj v nasledujúcich článkoch

  1. Programy na implementáciu jazdca JavaFX
  2. Rozdiel medzi Java Swing a Java FX
  3. Top 8 grafov v JavaFX
  4. Štruktúra aplikácií JavaFX
  5. Ako vytvoriť menu v JavaFXe?

Kategórie: