Wprowadzenie do JavaFX VBox
W JavaFX VBox jest składnikiem, który określa swój węzeł podrzędny w pionie. Jeśli ma on zestaw dopełnienia lub ramkę, zawartość będzie wyświetlana w tych wstawkach. Ponadto po dodaniu nowych elementów podrzędnych są one umieszczane poniżej poprzedniego węzła podrzędnego. Jeśli nie wspomniano o wysokości i szerokości, VBox uzna domyślny rozmiar za szerokość i wysokość dla dzieci i wyrówna go do lewego górnego położenia. Klasa VBox jest rozszerzana o klasę Pane i może być tworzona za pomocą klasy javafx.scene.layout.VBox.
Konstruktory JavaFX VBox
Aby zaimplementować VBox w Javie, można użyć czterech konstruktorów.
- VBox (): Układ zostanie utworzony z 0 odstępami.
- VBox (Podwójne odstępy): Układ zostanie utworzony z określonym odstępem.
- VBox (Podwójne odstępy, elementy potomne węzłów): Zostanie utworzony układ z określonymi odstępami i węzłami potomnymi.
- VBox (dzieci? Węzeł?): Układ zostanie utworzony z odstępem 0 i określonymi węzłami potomnymi.
Właściwości JavaFX VBox
JavaFX VBox ma trzy właściwości, takie jak:
- wyrównanie: Właściwość używana do wyrównania potomków, która znajduje się w wysokości i szerokości VBox.
- fillWidth: Węzły potomne podlegające zmianie rozmiaru zostaną przeskalowane do szerokości VBox lub zostaną zachowane w preferowanej szerokości po ustawieniu tej właściwości jako true.
- spacing: Zostanie ustawiona pionowa przestrzeń między węzłami potomnymi w vbox.
15 najlepszych metod JavaFX VBox
Poniżej wymieniono niektóre często używane metody w JavaFX VBox:
- clearConstraints (węzeł potomny): Ograniczenia VBox zostaną usunięte z węzła potomnego.
- computeMinWidth (podwójna wysokość): Minimalna szerokość regionu zostanie obliczona przy użyciu tej metody.
- computeMinHeight (podwójna szerokość): Minimalna wysokość regionu zostanie obliczona przy użyciu tej metody.
- getAlignment (): wartość właściwości wyrównania zostanie zwrócona.
- isFillWidth (): wartość właściwości fillWidth zostanie zwrócona.
- setAlignment (wartość Pos): zostanie ustawiona wartość właściwości wyrównania.
- setSpacing (podwójna wartość): zostanie ustawiona wartość właściwości spacing.
- getMargin (potomek węzła): wartość właściwości margin zostanie zwrócona.
- getSpacing (): wartość właściwości spacing zostanie zwrócona.
- getVgrow (węzeł potomny): wartość właściwości vgrow zostanie zwrócona.
- setFillWidth (wartość boolowska): zostanie ustawiona wartość właściwości fillWidth.
- spacingProperty (): Zostanie ustawiona pionowa przestrzeń między węzłami potomnymi w vbox.
- setMargin (Nodechild, Insets value): Margines dla dziecka zostanie ustawiony w VBox.
- computePrefWidth (podwójna wysokość): Obliczona zostanie preferowana szerokość dla regionu potrzebnego dla danej wysokości.
- computePrefHeight (podwójna szerokość): Obliczona zostanie preferowana wysokość dla regionu potrzebnego dla danej szerokości.
Programy do implementacji JavaFX VBox
Zobaczmy teraz kilka przykładów VBox z niektórymi metodami opisanymi w powyższej sekcji.
Przykład 1
Kod:
//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);
)
)
Wynik:
- Najpierw tworzone są 2 przyciski b1 i b2 z tekstem „Przykładowy przycisk 1 dla VBox” i „Przykładowy przycisk 2 dla VBox”.
- Następnie utwórz VBox i scenę.
- Po ustawieniu sceny zostaną wyświetlone wyniki.
Przykład nr 2
Kod:
//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);
)
)
Wynik:
- Najpierw utwórz VBox i etykietę.
- Następnie dodaj utworzoną etykietę do VBox.
- Utwórz przyciski za pomocą pętli for, aby składnia tworzenia przycisku nie musiała być zapisywana ponownie.
- Utwórz scenę i ustaw ją.
- Po ustawieniu sceny przyciski będą wyświetlane na środku.
Przykład nr 3
Kod:
//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();
)
)
Wynik:
- Po pierwsze, VBox jest tworzony z wypełnieniem i zestawem wstawek.
- Następnie utwórz etykietę z niestandardową czcionką.
- Następnie utwórz 4 przyciski i scenę.
- W końcu ustaw scenę i wyświetl wyniki.
Wniosek
JavaFX VBox to komponent, który pomaga węzłom potomnym układać się w pionie. Ponadto nowy element podrzędny zostanie dodany obok poprzedniego elementu podrzędnego podobnie do stosu. Więcej szczegółów na temat JavaFX VBox omówiono w tym dokumencie.
Polecane artykuły
To jest przewodnik po JavaFX VBox. Tutaj omawiamy wprowadzenie do JavaFX VBox i jego konstruktorów z 3 najlepszymi metodami i implementacją programu. Możesz także przejrzeć następujące artykuły, aby dowiedzieć się więcej-
- Programy do implementacji JavaFX Slider
- Różnica między Java Swing i Java FX
- 8 najlepszych wykresów w JavaFX
- Struktura aplikacji JavaFX
- Jak utworzyć menu w JavaFX?