JavaFX - Volets de disposition (conteneurs)
Après avoir construit tous les nœuds requis dans une scène, nous les organiserons généralement dans l'ordre.
Cette disposition des composants à l'intérieur du conteneur est appelée la disposition du conteneur. Nous pouvons également dire que nous avons suivi une disposition car elle comprend le placement de tous les composants à une position particulière dans le conteneur.
JavaFX fournit plusieurs mises en page prédéfinies telles que HBox, VBox, Border Pane, Stack Pane, Text Flow, Anchor Pane, Title Pane, Grid Pane, Flow Panel, etc.
Chacune des dispositions mentionnées ci-dessus est représentée par une classe et toutes ces classes appartiennent au package javafx.layout. La classe nomméePane est la classe de base de toutes les mises en page dans JavaFX.
Créer une mise en page
Pour créer une mise en page, vous devez -
- Créez un nœud.
- Instanciez la classe respective de la mise en page requise.
- Définissez les propriétés de la mise en page.
- Ajoutez tous les nœuds créés à la mise en page.
Création de nœuds
Tout d'abord, créez les nœuds requis de l'application JavaFX en instanciant leurs classes respectives.
Par exemple, si vous souhaitez avoir un champ de texte et deux boutons, à savoir lire et arrêter dans une disposition HBox - vous devrez initialement créer ces nœuds comme indiqué dans le bloc de code suivant -
//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");
Instanciation de la classe respective
Après avoir créé les nœuds (et terminé toutes les opérations sur eux), instanciez la classe de la disposition requise.
Par exemple, si vous souhaitez créer une disposition Hbox, vous devez instancier cette classe comme suit.
HBox hbox = new HBox();
Définition des propriétés de la mise en page
Après avoir instancié la classe, vous devez définir les propriétés de la disposition à l'aide de leurs méthodes de définition respectives.
Par exemple - Si vous souhaitez définir un espace entre les nœuds créés dans la mise en page HBox, vous devez définir la valeur de la propriété nommée spacing. Cela peut être fait en utilisant la méthode settersetSpacing() comme indiqué ci-dessous -
hbox.setSpacing(10);
Ajout de l'objet Shape au groupe
Enfin, vous devez ajouter l'objet de la forme au groupe en le passant comme paramètre du constructeur comme indiqué ci-dessous.
//Creating a Group object
Group root = new Group(line);
Volets de disposition
Voici les différents volets (classes) de disposition fournis par JavaFX. Ces classes existent dans le packagejavafx.scene.layout.
S. Non | Forme et description |
---|---|
1 | HBox La disposition HBox organise tous les nœuds de notre application sur une seule ligne horizontale. La classe nommée HBox du forfait javafx.scene.layout représente la disposition de la zone de texte horizontale. |
2 | VBox La disposition VBox organise tous les nœuds de notre application dans une seule colonne verticale. La classe nommée VBox du forfait javafx.scene.layout représente la disposition de la zone verticale de texte. |
3 | BorderPane La disposition Border Pane organise les nœuds de notre application dans les positions supérieure, gauche, droite, inférieure et centrale. La classe nommée BorderPane du forfait javafx.scene.layout représente la disposition du panneau de bordure. |
4 | StackPane La disposition du volet de pile organise les nœuds de notre application les uns sur les autres, comme dans une pile. Le nœud ajouté en premier est placé au bas de la pile et le nœud suivant est placé dessus. La classe nommée StackPane du forfait javafx.scene.layout représente la disposition du volet de pile. |
5 | TextFlow La disposition Flux de texte organise plusieurs nœuds de texte dans un flux unique. La classe nommée TextFlow du forfait javafx.scene.layout représente la disposition du flux de texte. |
6 | AnchorPane La disposition du volet Ancrage ancre les nœuds de notre application à une distance particulière du volet. La classe nommée AnchorPane du forfait javafx.scene.layout représente la disposition du volet d'ancrage. |
sept | TilePane La disposition Tile Pane ajoute tous les nœuds de notre application sous la forme de tuiles de taille uniforme. La classe nommée TilePane du forfait javafx.scene.layout représente la disposition TilePane. |
8 | GridPane La disposition Grid Pane organise les nœuds de notre application sous la forme d'une grille de lignes et de colonnes. Cette mise en page est pratique lors de la création de formulaires à l'aide de JavaFX. La classe nommée GridPane du forfait javafx.scene.layout représente la disposition GridPane. |
9 | FlowPane La disposition du volet de flux englobe tous les nœuds dans un flux. Un volet de flux horizontal enveloppe les éléments du volet à sa hauteur, tandis qu'un volet de flux vertical enveloppe les éléments à sa largeur. La classe nommée FlowPane du forfait javafx.scene.layout représente la disposition du volet de flux. |