Pane в JavaFX

https://docs.oracle.com/javase/8/javafx/api/javafx/scene/layout/Pane.html см. Direct known subclasses

HBox, VBox

Уже обсуждали.

Ограничения:

В общем случае все ограничения устанавливаются так. Т.е. с помощью статических методов класса панельки.

BorderPane

Подходит для расположения узлов слева, справа, сверху, снизу, по центру. Не более пяти, можно меньше, например, только центр и низ.

Ограничения

для указания ограничения, где находится элемент можно написать проще, чем стандартный способ через BorderPane.set...(узел, где) Можно написать просто borderPane.setCenter(узел); borderPane.setLeft(узел); и т.п.

FlowPane

Панелька располагает элементы слева направо, друг за другом, если место по горизонтали не хватает, то элемент переносится на следующую “строку”.

Можно устанавливать пропуски между элементами hgap, vgap.

Можно выкладывать элементы не по горизонтали, а по вертикали, это свойство orientation.

GridPane

Узлы располагаются по сетке. При добавлении каждого узла обязательно должно быть указано ограничение, в каком месте сетки он находится. Для этого есть вспомогательные методы, т.е. GridPane.setRowIndex() GridPane.setColumnIndex() можно не делать. Проще так: gridpane.add(узел, столб, строка).

Для подузлов есть ограничения:

Ограничения для строк, столбцов

Ограничения можно указать еще и для строк и столбцов отдельно. Это нужно, например, если вы хотите, чтобы у вас было два столбика по 50% ширины. Или вы хотите, чтобы первый столбец имел ширину, которую предпочитают его дети. А второй столбец - растягивался по ширине.

Как этого добиться:

    GridPane gridpane = new GridPane();
    ColumnConstraints column1 = new ColumnConstraints(100, 100, Double.MAX_VALUE);
    column1.setHgrow(Priority.ALWAYS);
    ColumnConstraints column2 = new ColumnConstraints(100);
    //добавить ограничения в панель
    gridpane.getColumnConstraints().addAll(column1, column2);

еще несколько Pane

TilePane - примерно как FlowPane, но все элементы одного размера. Подходит для галереии изображений, например. Или списка элементов папки.

StackPane - элементы располагаются друг над другом. Т.е. элементы перекрывают друг друга.