”;
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 −
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.
”;