JavaFX - panele układu (kontenery)
Po skonstruowaniu wszystkich wymaganych węzłów w scenie, ogólnie uporządkujemy je w kolejności.
Taki układ komponentów w kontenerze nazywany jest układem kontenera. Można również powiedzieć, że postępowaliśmy zgodnie z układem, ponieważ obejmuje on umieszczanie wszystkich komponentów w określonym miejscu w kontenerze.
JavaFX udostępnia kilka predefiniowanych układów, takich jak HBox, VBox, Border Pane, Stack Pane, Text Flow, Anchor Pane, Title Pane, Grid Pane, Flow Panelitp.
Każdy z wyżej wymienionych układów jest reprezentowany przez klasę i wszystkie te klasy należą do pakietu javafx.layout. Klasa o nazwiePane to podstawowa klasa wszystkich układów w JavaFX.
Tworzenie układu
Aby utworzyć układ, musisz -
- Utwórz węzeł.
- Utwórz wystąpienie odpowiedniej klasy wymaganego układu.
- Ustaw właściwości układu.
- Dodaj wszystkie utworzone węzły do układu.
Tworzenie węzłów
Przede wszystkim utwórz wymagane węzły aplikacji JavaFX, tworząc instancje ich odpowiednich klas.
Na przykład, jeśli chcesz mieć pole tekstowe i dwa przyciski, a mianowicie grać i zatrzymywać się w układzie HBox - będziesz musiał początkowo utworzyć te węzły, jak pokazano w poniższym bloku kodu -
//Creating a text field
TextField textField = new TextField();
//Creating the play button
Button playButton = new Button("Play");
//Creating the stop button
Button stopButton = new Button("stop");
Tworzenie wystąpienia odpowiedniej klasy
Po utworzeniu węzłów (i wykonaniu na nich wszystkich operacji) utwórz wystąpienie klasy wymaganego układu.
Na przykład, jeśli chcesz utworzyć układ Hbox, musisz utworzyć wystąpienie tej klasy w następujący sposób.
HBox hbox = new HBox();
Ustawianie właściwości układu
Po utworzeniu instancji klasy należy ustawić właściwości układu przy użyciu odpowiednich metod ustawiających.
Na przykład - jeśli chcesz ustawić odstęp między utworzonymi węzłami w układzie HBox, musisz ustawić wartość na właściwość o nazwie spacing. Można to zrobić za pomocą metody ustawiającejsetSpacing() jak pokazano poniżej -
hbox.setSpacing(10);
Dodawanie obiektu kształtu do grupy
Na koniec musisz dodać obiekt kształtu do grupy, przekazując go jako parametr konstruktora, jak pokazano poniżej.
//Creating a Group object
Group root = new Group(line);
Panele układu
Poniżej przedstawiono różne panele układu (klasy) udostępniane przez JavaFX. Te klasy istnieją w pakieciejavafx.scene.layout.
S.Nr | Kształt i opis |
---|---|
1 | HBox Układ HBox rozmieszcza wszystkie węzły w naszej aplikacji w jednym poziomym rzędzie. Klasa o nazwie HBox pakietu javafx.scene.layout reprezentuje poziomy układ ramki tekstu. |
2 | VBox Układ VBox rozmieszcza wszystkie węzły w naszej aplikacji w jednej pionowej kolumnie. Klasa o nazwie VBox pakietu javafx.scene.layout reprezentuje pionowy układ ramki tekstu. |
3 | BorderPane Układ Border Pane ustawia węzły w naszej aplikacji w górnej, lewej, prawej, dolnej i środkowej pozycji. Klasa o nazwie BorderPane pakietu javafx.scene.layout reprezentuje układ okienka obramowania. |
4 | StackPane Układ panelu stosu rozmieszcza węzły w naszej aplikacji jeden na drugim, tak jak w stosie. Węzeł dodany jako pierwszy jest umieszczany na dole stosu, a następny węzeł jest umieszczany na nim. Klasa o nazwie StackPane pakietu javafx.scene.layout reprezentuje układ panelu stosu. |
5 | TextFlow Układ przepływu tekstu rozmieszcza wiele węzłów tekstu w jednym przepływie. Klasa o nazwie TextFlow pakietu javafx.scene.layout reprezentuje układ przepływu tekstu. |
6 | AnchorPane Układ okienka Anchor zakotwicza węzły w naszej aplikacji w określonej odległości od okienka. Klasa o nazwie AnchorPane pakietu javafx.scene.layout reprezentuje układ okienka zakotwiczenia. |
7 | TilePane Układ Tile Pane dodaje wszystkie węzły naszej aplikacji w postaci kafli o jednakowych rozmiarach. Klasa o nazwie TilePane pakietu javafx.scene.layout reprezentuje układ TilePane. |
8 | GridPane Układ okienka siatki rozmieszcza węzły w naszej aplikacji jako siatkę wierszy i kolumn. Ten układ jest przydatny podczas tworzenia formularzy za pomocą JavaFX. Klasa o nazwie GridPane pakietu javafx.scene.layout reprezentuje układ GridPane. |
9 | FlowPane Układ okienka przepływu obejmuje wszystkie węzły w przepływie. Pozioma szyba przepływowa owija elementy szyby na jej wysokości, podczas gdy pionowa szyba przepływowa owija elementy na swojej szerokości. Klasa o nazwie FlowPane pakietu javafx.scene.layout reprezentuje układ panelu przepływu. |