节点之间的BorderPane间距

时间:2015-08-18 15:54:57

标签: layout javafx javafx-8

是否可以在BorderPane上设置节点之间的间距? Swing等价物将是BorderLayout上的hgap和vgap。

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

2 个答案:

答案 0 :(得分:7)

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);

请注意:这将在顶部和中心之间放置20个间距(顶部10个,中心10个)。 类似于中心和底部之间的间距。

文档

  

public static void setMargin(Node child,Insets value)

     

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

答案 1 :(得分:-3)

可以设置填充:

在JFX中:

<BorderPane>
   <padding>
      <Insets top="10" right="10" bottom="10" left="10"/>
   </padding>
</BorderPane>

在代码中:

@FXML
private BorderPane borderPane;    
...
this.borderPane.setPadding(new Insets(10, 10, 10, 10));