Layout 节点之间的边界窗格间距

Layout 节点之间的边界窗格间距,layout,javafx,javafx-8,Layout,Javafx,Javafx 8,是否可以在边框窗格上设置节点之间的间距?Swing等价物是BorderLayout上的hgap和vgap 我在文档中没有找到任何内容,我能想到的唯一可行的解决方法是在子节点上选择性地设置边距以复制效果。可以设置填充: 在JFX中: <BorderPane> <padding> <Insets top="10" right="10" bottom="10" left="10"/> </padding> </BorderP

是否可以在
边框窗格
上设置节点之间的间距?Swing等价物是
BorderLayout
上的hgap和vgap


我在文档中没有找到任何内容,我能想到的唯一可行的解决方法是在子节点上选择性地设置边距以复制效果。

可以设置填充:

在JFX中:

<BorderPane>
   <padding>
      <Insets top="10" right="10" bottom="10" left="10"/>
   </padding>
</BorderPane>
请注意:这将使顶部和中心之间的间距为20(顶部10,中心10)。 中心和底部之间的间距类似

文件

公共静态void setMargin(节点子节点,插入值)

设置包含在边框窗格中的子项的边距。如果设置,边框窗格将使用其周围的边距空间进行布局。将该值设置为null将删除该约束


在HBox和VBox中,setPadding定义每个节点之间的间距,但在BorderPane中,仅定义BorderPane与其父节点之间的间距,因此我猜您必须为itIn HBox和VBox中的每个节点使用BorderPane.setMargin,您可以调用setSpacing()来定义元素之间的间距。BorderPane和Vbox/HBox上的setPadding()工作原理完全相同。这不会设置元素之间的间距。
@FXML
private BorderPane borderPane;    
...
this.borderPane.setPadding(new Insets(10, 10, 10, 10));
Insets insets = new Insets(10);
BorderPane bp = new BorderPane();
    
Node topNode = new Label("TOP");
bp.setTop(topNode);
BorderPane.setMargin(topNode, insets);

Node centerNode = new Label("CENTER");
bp.setCenter(centerNode);
BorderPane.setMargin(centerNode, insets);

Node bottomNode = new Label("BOTTOM");
bp.setBottom(bottomNode);
BorderPane.setMargin(bottomNode, insets);