web-dev-qa-db-ja.com

ノード間のBorderPane間隔

BorderPaneのノード間の間隔を設定することは可能ですか? Swingに相当するのは、BorderLayoutのhgapとvgapです。

ドキュメントには何も見つかりませんでした。考えられる唯一の実行可能な回避策は、子ノードにマージンを選択的に設定して効果を再現することです。

12
Reuben Sanders
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に設定すると、制約が削除されます。

8
Foumpie