📜  JavaFX box(1)

📅  最后修改于: 2023-12-03 15:31:35.622000             🧑  作者: Mango

JavaFX Box

JavaFX Box 是一个容器类,它可以将子节点按照水平或垂直方向排列,从而形成一个可视化的布局。在 JavaFX 中,Box 是使用场景非常多的一种布局方式,它有以下几个特点:

  • Box 可以根据子节点数量和宽度、高度自动调整大小;
  • 子节点可以沿水平或垂直方向排列;
  • 子节点可以通过设置间距来控制相互之间的距离;
  • Box 可以嵌套使用,形成更加复杂的布局。

在 JavaFX 中,Box 分为 HBox 和 VBox 两种类型,分别用于水平和垂直布局。下面我们分别介绍一下这两种 Box 布局的用法。

HBox

HBox (水平 Box)将子节点按照水平方向排列,子节点从左往右依次排列。以下是 HBox 的使用示例:

HBox hbox = new HBox();
hbox.getChildren().add(new Button("Button 1"));
hbox.getChildren().add(new Button("Button 2"));
hbox.getChildren().add(new Button("Button 3"));

这个示例创建了一个 HBox,然后向其中添加了三个 Button,这三个 Button 会从左往右排列。

HBox 中还提供了 spacing 属性,用于设置子节点之间的间距,默认值为 0。例如,我们可以将上面的例子修改一下,设置按钮之间的间距为 10:

HBox hbox = new HBox();
hbox.setSpacing(10);
hbox.getChildren().add(new Button("Button 1"));
hbox.getChildren().add(new Button("Button 2"));
hbox.getChildren().add(new Button("Button 3"));

这样,三个 Button 之间就会有一定的间距了。

VBox

VBox (垂直 Box)将子节点按照垂直方向排列,子节点从上往下依次排列。以下是 VBox 的使用示例:

VBox vbox = new VBox();
vbox.getChildren().add(new Button("Button 1"));
vbox.getChildren().add(new Button("Button 2"));
vbox.getChildren().add(new Button("Button 3"));

这个示例创建了一个 VBox,然后向其中添加了三个 Button,这三个 Button 会从上往下排列。

VBox 中同样提供了 spacing 属性,用于设置子节点之间的间距,默认值也为 0。例如,下面的例子设置按钮之间的间距为 10:

VBox vbox = new VBox();
vbox.setSpacing(10);
vbox.getChildren().add(new Button("Button 1"));
vbox.getChildren().add(new Button("Button 2"));
vbox.getChildren().add(new Button("Button 3"));

这样,三个 Button 之间就会有一定的间距了。

总结

JavaFX Box 是一种非常方便的布局方式,可以快速实现简单的水平或垂直布局,还可以通过嵌套使用来实现更加复杂的布局。它简单易用、灵活多变,是 JavaFX 开发中不可或缺的一部分。