JavaFX - FlowPane

Si nous utilisons le volet de flux dans notre application, tous les nœuds sont enveloppés 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.layoutreprésente le volet de flux. Cette classe contient 7 propriétés, dont -

  • alignment- Cette propriété représente l'alignement du contenu du volet Flux. Vous pouvez définir cette propriété à l'aide de la méthode settersetAllignment().

  • columnHalignment - Cette propriété représente les alignements horizontaux des nœuds dans un volet de flux vertical.

  • rowValignment - Cette propriété représente l'alignement vertical des nœuds dans un volet de flux horizontal.

  • Hgap - Cette propriété est de type double et représente l'écart horizontal entre les lignes / colonnes d'un volet de flux.

  • Orientation - Cette propriété représente l'orientation d'un volet de flux.

  • Vgap - Cette propriété est de type double et représente l'écart vertical entre les lignes / colonnes d'un volet de flux.

Exemple

Le programme suivant est un exemple de FlowPanedisposition. En cela, nous insérons quatre boutons dans le volet de flux horizontal.

Enregistrez ce code dans un fichier avec le nom FlowPaneExample.java.

import javafx.collections.ObservableList; 
import javafx.geometry.Insets; 
import javafx.scene.Scene; 
import javafx.scene.control.Button; 
import javafx.scene.layout.FlowPane; 
import javafx.scene.shape.Sphere; 
import javafx.stage.Stage; 
         
public class FlowPaneExample extends Application { 
   @Override 
   public void start(Stage stage) {      
      //Creating button1 
      Button button1 = new Button("Button1");       
      
      //Creating button2 
      Button button2 = new Button("Button2");       
      
      //Creating button3
      Button button3 = new Button("Button3");       
      
      //Creating button4 
      Button button4 = new Button("Button4");       
      
      //Creating a Flow Pane 
      FlowPane flowPane = new FlowPane();    
       
      //Setting the horizontal gap between the nodes 
      flowPane.setHgap(25); 
       
      //Setting the margin of the pane  
      flowPane.setMargin(button1, new Insets(20, 0, 20, 20)); 
       
      //Retrieving the observable list of the flow Pane 
      ObservableList list = flowPane.getChildren(); 
      
      //Adding all the nodes to the flow pane 
      list.addAll(button1, button2, button3, button4); 
        
      //Creating a scene object 
      Scene scene = new Scene(flowPane);  
      
      //Setting title to the Stage 
      stage.setTitle("Flow Pane Example"); 
         
      //Adding scene to the stage 
      stage.setScene(scene); 
         
      //Displaying the contents of the stage 
      stage.show(); 
   } 
   public static void main(String args[]){
      launch(args); 
   } 
}

Compilez et exécutez le fichier java enregistré à partir de l'invite de commande à l'aide des commandes suivantes.

javac FlowPaneExample.java 
java FlowPaneExample

Lors de l'exécution, le programme ci-dessus génère une fenêtre JavaFX comme indiqué ci-dessous.