Objectifs
- Comprendre les conteneurs
VBoxetHBox - Etre capable d'instancier et de configurer une VBox et une HBox dans une application JavaFX.

- Comprendre les conteneurs
Introduction :
- VBox et HBox sont deux conteneurs de base de JavaFX qui permettent de disposer des nœuds (comme des boutons, des TextField, etc.) de manière verticale ou horizontale.
VBox en JavaFX
- La VBox dispose les nœuds enfants de manière verticale, de haut en bas.
-
Propriétés
- Cette méthode fournit diverses propriétés décrites dans le tableau ci-dessous.
Propriété Description Méthodes de pose Alignement Cette propriété concerne l’alignement des nœuds. setAlignement(Double) FillWidth Cette propriété est de type booléen. La largeur des nœuds redimensionnables peut être rendue égale à la largeur de la VBox en définissant cette propriété sur true. setFillWidth(boolean) Spacing Cette propriété consiste à définir un certain espacement entre les nœuds de la VBox. setSpacing(Double) -
Constructeurs
VBox(): crée une mise en page avec un espacement de 0Vbox(Double spacing): crée une mise en page avec une valeur d'espacement de type doubleVbox(Double spacing, Node? children): crée une mise en page avec l'espacement spécifié parmi les nœuds enfants spécifiésVbox(Node? children): crée une mise en page avec les nœuds spécifiés ayant un espacement de 0 entre eux
-
Exemple de création d'une VBox :
- Vous pouvez également définir l'espacement entre les nœuds enfants avec setSpacing(double spacing).
VBox vbox = new VBox(); vbox.getChildren().addAll(button1, button2, button3);
-
- La VBox dispose les nœuds enfants de manière verticale, de haut en bas.
HBox en JavaFX
- L'HBox dispose les nœuds enfants de manière horizontale, de gauche à droite.
-
Propriétés
- Cette méthode fournit diverses propriétés décrites dans le tableau ci-dessous.
Propriété Description Méthodes de pose Alignement Cela représente l'alignement des nœuds. setAlignement(Double) fillHeight Il s'agit d'une propriété booléenne. Si vous définissez cette propriété sur true, la hauteur des nœuds deviendra égale à la hauteur de la HBox. setFillHeight(Double) Spacing Cela représente l'espace entre les nœuds de la HBox. Il est de type double. setSpacing(Double) -
Constructeurs
new HBox(): crée une disposition HBox avec un espacement de 0new Hbox (Double spacing): crée une disposition HBox avec une valeur d'espacement
Exemple de création d'une HBox :
- Comme pour la VBox, vous pouvez définir l'espacement entre les nœuds enfants avec setSpacing(double spacing).
HBox hbox = new HBox(); hbox.getChildren().addAll(button1, button2, button3);
-
- L'HBox dispose les nœuds enfants de manière horizontale, de gauche à droite.
Alignment et Padding
- Vous pouvez également définir l'alignement des nœuds enfants dans le conteneur avec les méthodes suivantes :
setAlignment(Pos alignment): définit l'alignement des nœuds enfants (par exemple, Pos.CENTER, Pos.TOP_LEFT, etc.)setPadding(Insets padding): définit les marges autour du conteneurVBox vbox = new VBox(); vbox.setAlignment(Pos.CENTER); vbox.setPadding(new Insets(20)); vbox.getChildren().addAll(button1, button2, button3);- Ajout de contraintes de positionnement
- Vous pouvez également ajouter des contraintes de positionnement aux nœuds enfants avec les méthodes suivantes :
- setMargin(Node node, Insets margin) : définit les marges autour d'un nœud enfant
- setHgrow(Node node, Priority priority) : définit la priorité de croissance horizontale d'un nœud enfant
- setVgrow(Node node, Priority priority) : définit la priorité de croissance verticale d'un nœud enfant
- Exemple :
HBox hbox = new HBox(); hbox.setSpacing(10); Button button1 = new Button("Button 1"); Button button2 = new Button("Button 2"); TextField textField = new TextField(); HBox.setHgrow(textField, Priority.ALWAYS); hbox.getChildren().addAll(button1, textField, button2);