JavaFX - TilePane de disposition

Si nous utilisons ce volet dans notre application, tous les nœuds qui y sont ajoutés sont disposés sous la forme de tuiles de taille uniforme. La classe nomméetilePane du forfait javafx.scene.layout représente le TilePane.

Cette classe fournit onze propriétés, qui sont -

  • alignment - Cette propriété représente l'alignement du volet et vous pouvez définir la valeur de cette propriété à l'aide du setAlignment() méthode.

  • hgap - Cette propriété est du type double et représente l'écart horizontal entre chaque tuile dans une ligne.

  • vgap - Cette propriété est du type double et représente l'écart vertical entre chaque tuile dans une rangée.

  • orientation - Cette propriété représente l'orientation des tuiles dans une rangée.

  • prefColumns - Cette propriété est de type double et représente le nombre de colonnes préféré pour un volet de mosaïque horizontal.

  • prefRows - Cette propriété est de type double et représente le nombre de lignes préféré pour un volet de mosaïque vertical.

  • prefTileHeight - Cette propriété est de type double et représente la hauteur préférée de chaque tuile.

  • prefTileWidth - Cette propriété est de type double et représente la largeur préférée de chaque tuile.

  • tileHeight - Cette propriété est de type double et représente la hauteur réelle de chaque tuile.

  • tileWidth - Cette propriété est de type double et représente la largeur réelle de chaque tuile.

  • tileAlignment - Cette propriété est de type double et représente l'alignement par défaut de chaque enfant dans sa tuile.

Exemple

Le programme suivant est un exemple de disposition du volet de tuiles. En cela, nous créons un volet de tuiles qui contient 7 boutons.

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

import javafx.application.Application; 
import javafx.collections.ObservableList; 
import javafx.geometry.Orientation; 
import javafx.geometry.Pos; 
import javafx.scene.Scene; 
import javafx.scene.control.Button; 
import javafx.scene.layout.TilePane; 
import javafx.stage.Stage;

public class TilePaneExample extends Application { 
   @Override 
   public void start(Stage stage) {    
      //Creating an array of Buttons 
      Button[] buttons = new Button[] { 
         new Button("SunDay"), 
         new Button("MonDay"), 
         new Button("TuesDay"), 
         new Button("WednesDay"), 
         new Button("ThursDay"), 
         new Button("FriDay"), 
         new Button("SaturDay")  
      };   
      //Creating a Tile Pane 
      TilePane tilePane = new TilePane();   
       
      //Setting the orientation for the Tile Pane 
      tilePane.setOrientation(Orientation.HORIZONTAL); 
       
      //Setting the alignment for the Tile Pane 
      tilePane.setTileAlignment(Pos.CENTER_LEFT); 
       
      //Setting the preferred columns for the Tile Pane 
      tilePane.setPrefRows(4);  
      
      //Retrieving the observable list of the Tile Pane 
      ObservableList list = tilePane.getChildren(); 
       
      //Adding the array of buttons to the pane 
      list.addAll(buttons);
	  
      //Creating a scene object 
      Scene scene = new Scene(tilePane);  
      
      //Setting title to the Stage 
      stage.setTitle("Tile 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 TilePaneExample.java 
java TilePaneExample

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