2015-08-18 2 views
6

Возможно ли установить расстояние между узлами на BorderPane? Эквивалент Swing был бы hgap и vgap на BorderLayout.Разграничение между границами между узлами

Я ничего не нашел в документации, и единственным жизнеспособным обходным решением, о котором я могу думать, было бы выборочно устанавливать поля на дочерних узлах для репликации эффекта.

+3

В HBox & VBox setPadding определяет промежуток между каждым узлом, но в BorderPane определяет пробел между BorderPane и его родителем, поэтому я предполагаю, что вам нужно будет использовать BorderPane.setMargin для каждого из узлы внутри него –

+0

В HBox и VBox вы вызываете setSpacing() для определения разрыва между элементами. setPadding() на BorderPane и Vbox/HBox работает точно так же. – Foumpie

ответ

-2

Можно установить отступы:

В 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)); 
+1

Это не будет устанавливать промежуток между элементами. – Foumpie

1
Insets insets = new Insets(10); 
BorderPane bp = new BoderPane() 

Node topNode = new Label("TOP"); 
bp.setTop(topNode); 
BorderPane.setMargin(topNode, insets); 

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

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

Имейте в виду: это поставит интервал 20 (10 сверху и 10 от центра) между вершиной и центром. Аналогично расстоянию между центром и дном.

Документация

государственная статическая сила setMargin (дочерний узел, вставки значение)

Устанавливает запас для ребенка, когда содержащийся в пограничной области. Если установлено, панель границы будет располагаться с пространством поля вокруг него. Установка значения в значение null приведет к удалению ограничения.

Смежные вопросы