Introduction à JavaFX VBox

Dans JavaFX, VBox est un composant qui présente son nœud enfant de manière verticale. S'il a un jeu de rembourrage ou une bordure, le contenu sera affiché dans ces encarts. De plus, lors de l'ajout de nouveaux enfants, ils sont placés sous le nœud enfant précédent. Si aucune hauteur et largeur n'est mentionnée, VBox considérera la taille par défaut comme la largeur et la hauteur des enfants et l'alignera sur la position en haut à gauche. La classe VBox est étendue par la classe Pane et peut être instanciée à partir de la classe javafx.scene.layout.VBox.

Constructeurs de JavaFX VBox

Pour implémenter la VBox en Java, quatre constructeurs peuvent être utilisés.

  • VBox (): Une mise en page sera créée avec un espacement de 0.
  • VBox (double espacement): une mise en page sera créée avec l'espacement spécifié.
  • VBox (double espacement, nœuds enfants): une disposition sera créée avec l'espacement et les nœuds enfants spécifiés.
  • VBox (Node? Children): Une disposition sera créée avec l'espacement 0 et les nœuds enfants spécifiés.

Propriétés de JavaFX VBox

JavaFX VBox a trois propriétés telles que,

  • alignement: propriété utilisée pour l'alignement des enfants à l'intérieur de la hauteur et de la largeur de la VBox.
  • fillWidth: les nœuds enfants redimensionnables seront redimensionnés à la largeur de la VBox ou conservés dans la largeur préférée lors de la définition de cette propriété sur true.
  • Espacement: l' espace vertical entre les nœuds enfants dans vbox sera défini.

Top 15 des méthodes de JavaFX VBox

Ci-dessous sont mentionnées quelques méthodes couramment utilisées dans JavaFX VBox:

  1. clearConstraints (Node enfant): les contraintes VBox seront supprimées du nœud enfant.
  2. computeMinWidth (double hauteur): la largeur minimale de la région sera calculée à l'aide de cette méthode.
  3. computeMinHeight (double largeur): la hauteur minimale de la région sera calculée à l'aide de cette méthode.
  4. getAlignment (): la valeur de la propriété d'alignement sera retournée.
  5. isFillWidth (): la valeur de la propriété fillWidth sera retournée.
  6. setAlignment (Pos value): la valeur de la propriété d'alignement sera définie.
  7. setSpacing (double valeur): la valeur de la propriété d'espacement sera définie.
  8. getMargin (Node child): la valeur de la propriété margin sera retournée.
  9. getSpacing (): la valeur de la propriété spacing sera retournée.
  10. getVgrow (Node child): la valeur de la propriété vgrow sera retournée.
  11. setFillWidth (valeur booléenne): la valeur de la propriété fillWidth sera définie.
  12. spacingProperty (): l'espace vertical entre les nœuds enfants dans vbox sera défini.
  13. setMargin (Nodechild, Insets value): La marge pour l'enfant sera définie dans la VBox.
  14. computePrefWidth (double hauteur): Une largeur préférée pour la région qui est nécessaire pour la hauteur donnée sera calculée.
  15. computePrefHeight (double largeur): Une hauteur préférée pour la région qui est nécessaire pour la largeur donnée sera calculée.

Programmes pour implémenter JavaFX VBox

Maintenant, voyons quelques exemples de VBox avec certaines des méthodes expliquées dans la section ci-dessus.

Exemple 1

Code:

//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);
)
)

Production:

  • Tout d'abord, 2 boutons b1 et b2 sont créés avec le texte "Sample button 1 pour VBox" et "Sample button 2 pour VBox".
  • Ensuite, créez une VBox et une scène.
  • Après avoir réglé la scène, les résultats seront affichés.

Exemple # 2

Code:

//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);
)
)

Production:

  • Tout d'abord, créez une VBox et une étiquette.
  • Ensuite, ajoutez l'étiquette créée à VBox.
  • Créez des boutons à l'aide d'une boucle for afin que la syntaxe de création de bouton n'ait pas besoin d'être réécrite.
  • Créez une scène et définissez-la.
  • Après avoir réglé la scène, les boutons s'affichent au centre.

Exemple # 3

Code:

//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();
)
)

Production:

  • Tout d'abord, une VBox est créée avec un rembourrage et des inserts définis.
  • Ensuite, créez une étiquette avec une police personnalisée.
  • Après cela, créez 4 boutons et une scène.
  • Enfin, définissez la scène et affichez les résultats.

Conclusion

JavaFX VBox est un composant qui aide les nœuds enfants à se disposer de manière verticale. En outre, le nouvel enfant sera ajouté à côté de l'enfant précédent, semblable à une pile. Plus de détails sur JavaFX VBox sont discutés dans ce document.

Articles recommandés

Ceci est un guide de JavaFX VBox. Nous discutons ici de l'introduction à JavaFX VBox et de ses constructeurs avec les 3 meilleures méthodes et la mise en œuvre du programme. Vous pouvez également consulter les articles suivants pour en savoir plus-

  1. Programmes pour implémenter JavaFX Slider
  2. Différence entre Java Swing et Java FX
  3. Les 8 meilleurs graphiques de JavaFX
  4. Structure des applications JavaFX
  5. Comment créer un menu dans JavaFX?