JavaFX - FlowPane

Se usiamo il riquadro di flusso nella nostra applicazione, tutti i nodi vengono inseriti in un flusso. Un riquadro di flusso orizzontale avvolge gli elementi del riquadro alla sua altezza, mentre un riquadro di flusso verticale avvolge gli elementi alla sua larghezza.

La classe denominata FlowPane del pacchetto javafx.scene.layoutrappresenta il riquadro di flusso. Questa classe contiene 7 proprietà, che includono:

  • alignment- Questa proprietà rappresenta l'allineamento del contenuto del riquadro Flusso. È possibile impostare questa proprietà utilizzando il metodo settersetAllignment().

  • columnHalignment - Questa proprietà rappresenta gli allineamenti orizzontali dei nodi in un riquadro di flusso verticale.

  • rowValignment - Questa proprietà rappresenta l'allineamento verticale dei nodi in un riquadro di flusso orizzontale.

  • Hgap - Questa proprietà è di tipo doppio e rappresenta lo spazio orizzontale tra le righe / colonne di un riquadro di flusso.

  • Orientation - Questa proprietà rappresenta l'orientamento di un riquadro di flusso.

  • Vgap - Questa proprietà è di tipo doppio e rappresenta lo spazio verticale tra le righe / colonne di un riquadro di flusso.

Esempio

Il seguente programma è un esempio di FlowPanedisposizione. In questo, stiamo inserendo quattro pulsanti nel riquadro di flusso orizzontale.

Salva questo codice in un file con il nome 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); 
   } 
}

Compilare ed eseguire il file java salvato dal prompt dei comandi utilizzando i seguenti comandi.

javac FlowPaneExample.java 
java FlowPaneExample

All'esecuzione, il programma di cui sopra genera una finestra JavaFX come mostrato di seguito.