JavaFX - FlowPane

Si usamos el panel de flujo en nuestra aplicación, todos los nodos se envuelven en un flujo. Un panel de flujo horizontal envuelve los elementos del panel en su altura, mientras que un panel de flujo vertical envuelve los elementos en su ancho.

La clase nombrada FlowPane del paquete javafx.scene.layoutrepresenta el Panel de flujo. Esta clase contiene 7 propiedades, que incluyen:

  • alignment- Esta propiedad representa la alineación del contenido del panel de flujo. Puede establecer esta propiedad utilizando el método settersetAllignment().

  • columnHalignment - Esta propiedad representa las alineaciones horizontales de los nodos en un panel de flujo vertical.

  • rowValignment : Esta propiedad representa la alineación vertical de los nodos en un panel de flujo horizontal.

  • Hgap - Esta propiedad es de tipo doble y representa el espacio horizontal entre las filas / columnas de un panel de flujo.

  • Orientation : Esta propiedad representa la orientación de un panel de flujo.

  • Vgap - Esta propiedad es de tipo doble y representa el espacio vertical entre las filas / columnas de un panel de flujo.

Ejemplo

El siguiente programa es un ejemplo del FlowPanediseño. En esto, estamos insertando cuatro botones en el panel de flujo horizontal.

Guarde este código en un archivo con el nombre 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); 
   } 
}

Compile y ejecute el archivo java guardado desde el símbolo del sistema utilizando los siguientes comandos.

javac FlowPaneExample.java 
java FlowPaneExample

Al ejecutarse, el programa anterior genera una ventana JavaFX como se muestra a continuación.