Úvod do JavaFX VBox

V JavaFX je VBox komponentou, která svislým způsobem stanoví své podřízené uzly. Pokud má výplňovou sadu nebo ohraničení, zobrazí se obsah uvnitř těchto vložek. Kromě toho jsou při přidávání nových dětí umístěny pod předchozí podřízený uzel. Pokud není zmíněna žádná výška a šířka, VBox bude považovat výchozí velikost za dětskou šířku a výšku a zarovná ji s levou horní částí. Třída VBox je rozšířena o třídu Pane a lze ji vytvořit z třídy javafx.scene.layout.VBox.

Konstruktory JavaFX VBox

K implementaci VBoxu v Javě lze použít čtyři konstruktory.

  • VBox (): Rozvržení bude vytvořeno s mezerou 0.
  • VBox (Double spacing): Rozvržení bude vytvořeno se zadaným rozestupem.
  • VBox (Double spacing, uzly child): Vytvoří se rozvržení se zadanými mezerami a podřízenými uzly.
  • VBox (uzel? Podřízené): Rozvržení bude vytvořeno s mezerou 0 a určenými podřízenými uzly.

Vlastnosti JavaFX VBox

JavaFX VBox má tři vlastnosti, například:

  • zarovnání: Vlastnost, která se používá pro zarovnání dětí, která je v rámci výšky a šířky VBoxu.
  • fillWidth: Nastavitelné podřízené uzly budou změněny na šířku VBoxu nebo ponechány v preferované šířce při nastavení této vlastnosti na true.
  • spacing: Nastaví se vertikální mezera mezi podřízenými uzly ve schránce.

Top 15 metod JavaFX VBox

Níže jsou uvedeny některé běžně používané metody v JavaFX VBox:

  1. clearConstraints (podřízený uzel): Omezení VBox budou odstraněna z podřízeného uzlu.
  2. computeMinWidth (dvojitá výška): Minimální šířka oblasti bude vypočítána pomocí této metody.
  3. computeMinHeight (dvojitá šířka): Minimální výška oblasti bude vypočítána pomocí této metody.
  4. getAlignment (): hodnota vlastnosti zarovnání bude vrácena.
  5. isFillWidth (): hodnota vlastnosti fillWidth bude vrácena.
  6. setAlignment (hodnota Pos): bude nastavena hodnota vlastnosti zarovnání.
  7. setSpacing (dvojitá hodnota): nastaví se hodnota vlastnosti spacing.
  8. getMargin (Node child): bude vrácena hodnota vlastnosti margin.
  9. getSpacing (): hodnota vlastnosti spacing bude vrácena.
  10. getVgrow (Node child): bude vrácena hodnota vlastnosti vgrow.
  11. setFillWidth (booleovská hodnota): Bude nastavena hodnota vlastnosti fillWidth.
  12. spacingProperty (): Bude nastaven vertikální prostor mezi podřízenými uzly ve schránce.
  13. setMargin (Nodechild, Insets value): Marže pro dítě bude nastaveno ve VBoxu.
  14. computePrefWidth (dvojitá výška): Bude vypočítána preferovaná šířka pro oblast, která je pro danou výšku potřebná.
  15. computePrefHeight (dvojitá šířka): Bude vypočítána preferovaná výška pro oblast, která je pro danou šířku potřebná.

Programy pro implementaci JavaFX VBox

Nyní se podívejme na příklady VBox s některými metodami vysvětlenými ve výše uvedené části.

Pří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ýstup:

  • Nejprve se vytvoří dvě tlačítka b1 a b2 s textem „Ukázkové tlačítko 1 pro VBox“ a „Ukázkové tlačítko 2 pro VBox“.
  • Poté vytvořte VBox a scénu.
  • Po nastavení scény se zobrazí výsledky.

Pří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ýstup:

  • Nejprve vytvořte VBox a štítek.
  • Poté přidejte vytvořený štítek do VBoxu.
  • Vytvářejte tlačítka pomocí smyčky for, takže syntaxe vytváření tlačítek již nemusí být zapsána znovu.
  • Vytvořte scénu a nastavte ji.
  • Po nastavení scény se tlačítka zobrazí uprostřed.

Pří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ýstup:

  • Nejprve se vytvoří VBox se sadou výplní a vložek.
  • Poté vytvořte štítek s přizpůsobeným písmem.
  • Poté vytvořte 4 tlačítka a scénu.
  • Nakonec nastavte scénu a zobrazte výsledky.

Závěr

JavaFX VBox je komponenta, která pomáhá podřízeným uzlům rozvinout svisle. Nové dítě bude také přidáno vedle předchozího dítěte podobné zásobníku. Další podrobnosti o JavaFX VBox jsou popsány v tomto dokumentu.

Doporučené články

Toto je průvodce JavaFX VBox. Zde diskutujeme úvod do JavaFX VBox a jeho konstruktérů s top 3 metodami a implementací programu. Další informace naleznete také v následujících článcích

  1. Programy implementující jezdec JavaFX
  2. Rozdíl mezi Java Swing a Java FX
  3. Top 8 grafů v JavaFX
  4. Struktura aplikací JavaFX
  5. Jak vytvořit nabídku v JavaFXu?

Kategorie: