Руководство JavaFX TilePane Layout
View more Tutorials:
TilePane это контейнер (Container), TilePane очень похож на FlowPane, который расставляет подкомпоненты в последовательном порядке в одной строке, и автоматически толкает подкомпоненты в следующую строку если в настоящей строке не имеется больше места. Но он отличается от FlowPane это подкомпоненты находятся в ячейках с одинаковыми размерами.

Подкомпоненты находятся в ячейсках с одинаковыми размерами:



TilePaneDemo.java
package org.o7planning.javafx.tilepane; import javafx.application.Application; import javafx.geometry.Insets; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.layout.TilePane; import javafx.stage.Stage; public class TilePaneDemo extends Application { @Override public void start(Stage primaryStage) throws Exception { TilePane root = new TilePane(); root.setPadding(new Insets(10,10,10,10)); root.setHgap(20); root.setVgap(30); Button button = new Button("Java"); root.getChildren().add(button); // Short Button Button button1 = new Button("C/C++"); button1.setPrefSize(70, 50); root.getChildren().add(button1); // Short Button Button button2 = new Button("C#"); root.getChildren().add(button2); // Button Button longButton3 = new Button("Objective C"); root.getChildren().add(longButton3); // Button Button button4 = new Button("Swift"); root.getChildren().add(button4); Scene scene = new Scene(root, 500, 300); primaryStage.setTitle("TilePanel Layout Demo (o7planning.org)"); primaryStage.setScene(scene); primaryStage.show(); } public static void main(String[] args) { launch(args); } }
Запуск примера:

Используя JavaFX Scane Builder вам будет легко сделать дизайн интерфейса. Пример ниже иллюстрирует дизайн TilePane с Scane Builder.
- File/New/Other..


Открыть с Scene Builder:


Добавить Node в TilePane.

Установить Vgap, Hgap и padding.

Выравнивание строки и выравнивание столбца (Row Valignment & Column Halignment).
