JavaFX 的 BorderPane
是一种布局方式,它将容器分为五个区域:顶部(top)、底部(bottom)、左侧(left)、右侧(right)和中心(center)。每个区域可以放置一个节点,中心区域可以放置任意类型的节点,而其他四个区域通常放置较小的控件或组件。
以下是 BorderPane
的一些基本用法:
-
区域设置:使用
setTop
、setBottom
、setLeft
、setRight
和setCenter
方法来设置各个区域的节点。 -
对齐方式:虽然
BorderPane
本身不支持对齐方式的设置,但你可以通过在各个区域中使用其他布局(如HBox
、VBox
)来实现对齐。 -
填充和边距:可以为
BorderPane
设置填充(padding)和边距(margin),以控制内容与边框之间的空间。 -
权重:
BorderPane
没有权重的概念,每个区域的大小完全取决于其子节点的大小。
下面是一个 BorderPane
的使用案例,演示了如何使用 BorderPane
来创建一个简单的应用程序界面:
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.BorderPane;
import javafx.stage.Stage;
public class BorderPaneDemo extends Application {
@Override
public void start(Stage primaryStage) {
// 创建 BorderPane 实例
BorderPane borderPane = new BorderPane();
// 创建按钮并设置文本
Button topButton = new Button("Top");
Button bottomButton = new Button("Bottom");
Button leftButton = new Button("Left");
Button rightButton = new Button("Right");
Button centerButton = new Button("Center");
// 设置按钮到 BorderPane 的对应区域
borderPane.setTop(topButton);
borderPane.setBottom(bottomButton);
borderPane.setLeft(leftButton);
borderPane.setRight(rightButton);
borderPane.setCenter(centerButton);
// 创建场景并设置 BorderPane
Scene scene = new Scene(borderPane, 400, 300); // 设置场景的宽度和高度
// 设置舞台并显示
primaryStage.setScene(scene);
primaryStage.setTitle("BorderPane Demo");
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
在这个例子中,我们创建了一个 BorderPane
,并为顶部、底部、左侧、右侧和中心区域分别添加了一个按钮。然后,我们创建了一个场景并将 BorderPane
设置为场景的内容。最后,我们设置了舞台的标题并显示了舞台。
运行这个程序,你会看到一个窗口,其中包含五个按钮,分别位于 BorderPane
的不同区域。这种布局非常适合创建具有清晰结构的应用程序界面。