如何使用 JavaFX 创建 border 窗格?
为应用程序创建所有必需的节点后,可使用布局对其进行排列。其中,布局是计算给定空间中对象位置的过程。JavaFX 在 javafx.scene.layout 包中提供各种布局。
Border 窗格
在此布局中,节点排列在顶部、中间、底部、左侧和右侧位置。可以通过实例化javafx.scene.layout.BorderPane 类在应用程序中创建 border 窗格。
此类(节点类型)具有五个属性,分别指定窗格中的位置,即顶部、底部、右侧、左侧、中间。可以使用setTop()、setBottom()、setRight()、setleft() 和 setCenter()将节点设置为这些属性的值。
可以使用 setPrefSize() 方法设置 border 窗格的大小。要向此窗格添加节点,可以将它们作为构造函数的参数传递,或者将其添加到窗格的可观察列表中,如下所示 −
getChildren().addAll();
示例
import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.layout.BorderPane; import javafx.stage.Stage; public class BorderPaneExample extends Application { public void start(Stage stage) { //Creating buttons Button left = new Button("Left"); left.setPrefSize(200, 100); Button right = new Button("Right"); right.setPrefSize(200, 100); Button top = new Button("Top"); top.setPrefSize(595, 100); Button bottom = new Button("Buttom"); bottom.setPrefSize(595, 100); Button center = new Button("Center"); center.setPrefSize(200, 100); //Creating the border pane BorderPane pane = new BorderPane(); //Setting the top, bottom, center, right and left nodes to the pane pane.setTop(top); pane.setBottom(bottom); pane.setLeft(left); pane.setRight(right); pane.setCenter(center); //Setting the Scene Scene scene = new Scene(pane, 595, 300); stage.setTitle("Border Pane"); stage.setScene(scene); stage.show(); } public static void main(String args[]){ launch(args); } }
输出
广告