JavaFX - BorderPane Layout



BorderPane Layout in JavaFX

The BorderPane is a layout control that arranges all the UI components of a JavaFX application into five distinc regions namely Top, Left, Right, Bottom and Center positions. The BorderPane layout pane is represented by a class named BorderPane of the javafx.scene.layout package. Instantiating this class will create a BorderPane layout. Constructors of this class are as follows −

  • BorderPane() − It is the default constructor that creates an empty BorderPane.

  • BorderPane(Node centerNode) − It constructs a new BorderPane layout and positions the node in the center.

  • BorderPane(Node center, Node top, Node right, Node bottom, Node left) − This parameterized constructor of BorderPane class used to create a new BorderPane layout with the specified nodes.

The BorderPane class contains five properties, which include −

  • bottom − This property is of Node type and it represents the node placed at the bottom of the BorderPane. You can set value to this property using the setter method setBottom().

  • center − This property is of Node type and it represents the node placed at the center of the BorderPane. You can set value to this property using the setter method setCenter().

  • left − This property is of Node type and it represents the node placed at the left of the BorderPane. You can set value to this property using the setter method setLeft().

  • right − This property is of Node type and it represents the node placed at the right of the BorderPane. You can set value to this property using the setter method setRight().

  • top − This property is of Node type and it represents the node placed at the top of the BorderPane. You can set value to this property using the setter method setTop().

The figure below shows how JavaFX nodes are arranged in a BorderPane layout −

BorderPane

In addition to the above mentioned properties and constructors, the BorderPane class also provides the following method −

  • setAlignment() − This method is used to set the alignment of the nodes belonging to this pane. This method accepts a node and a priority value.

Example

The following program is an example of the BorderPane layout. In this, we are inserting a five text fields in the Top, Bottom, Right, Left and Center positions. Save this code in a file with the name BorderPaneExample.java.

import javafx.application.Application; 
import javafx.collections.ObservableList; 
import javafx.scene.Scene; 
import javafx.scene.control.TextField; 
import javafx.scene.layout.BorderPane; 
import javafx.stage.Stage; 
         
public class BorderPaneExample extends Application { 
   @Override 
   public void start(Stage stage) {      
      //Instantiating the BorderPane class  
      BorderPane bPane = new BorderPane();   
       
      //Setting the top, bottom, center, right and left nodes to the pane 
      bPane.setTop(new TextField("Top")); 
      bPane.setBottom(new TextField("Bottom")); 
      bPane.setLeft(new TextField("Left")); 
      bPane.setRight(new TextField("Right")); 
      bPane.setCenter(new TextField("Center")); 
      
      //Creating a scene object 
      Scene scene = new Scene(bPane, 400, 300);  
      
      //Setting title to the Stage
      stage.setTitle("BorderPane in JavaFX"); 
         
      //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 and execute the saved java file from the command prompt using the following commands.

javac --module-path %PATH_TO_FX% --add-modules javafx.controls BorderPaneExample.java 
java --module-path %PATH_TO_FX% --add-modules javafx.controls BorderPaneExample

Output

On executing, the above program generates a JavaFX window as shown below.

BorderPane
Advertisements