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.