Элементы интерфейса и их расположение
Display List — Список отображения
Все, что можно расположить на окне — называется узлами (Node). Список отображения содержит все узлы, которые есть в окне, т.е. которые надо рисовать, и которые могут взаимодействовать с пользователем. У узлов могут быть подузлы (дети, дочерние узлы). У панели дети — это те узлы, которые на ней лежат, например, кнопки. Получается, что узлы образуют иерархию.
Видов узлов бывает много. Некоторые узлы могут иметь явно заданные размеры, а некоторые узлы не знают свой размер, но могут вычислить его по содержимому. Т.е. ширину и высоту узла можно узнать всегда. Некоторые узлы можно оформлать с помощью CSS, некоторые — нет.
Кнопка — имеет и размер, и может оформляться через CSS. ImageView — узел для отображения картинок, не имеет ничего из этого.
У многих узлов есть возможность указать бордюр, отступы (см. border, padding в CSS).
Типы узлов и похожих объектов
Stage — сцена, окно операционной системы. У него можно настраивать заголовок, конпки открытия, закрытия, можно фиксировать её размер.
Scene — сцена, внутренность окна, то место, в котором происходит рисование интерфейса. Она содержит внутри себя ссылку на корневой узел (тот узел, на котором лежат все остальные), и она имеет размер. Он соответствует размеру окна. При создании сцены размер можно указать.
VBox — панелька для того, чтобы располагать на ней другие узлы, причём эти узлы выставляются по вертикали друг за другом. Т.е. эта панель сама располагает элементы внутри себя.
HBox — аналогичная, но располагает элементы по горизонтали.
Pane — тоже панелька для узлов, но она не управляет положением элементов, и их можно расставлять как угодно.
GridPane — панелька, располагает элементы внутри себя в узлах сетки.
Button — кнопка, реагирует на нажатие
Label — метка с текстом. Статический текст, не взаимодействует с пользователем
TextField — поле ввода текста, одна строка (Введите имя, пароль)
TextArea — поле ввода текста, многострочное и с форматированием.
List — список элементов
ColorPicker — компонент для выбора цвета.
Circle — кружок указанного размера, цвета.
Rectangle — прямоугольник
…
Пример 1. Окно с кнопкой. JavaFXExample
Пример 2. Окно с несколькими кнопками по вертикали JavaFXExampleSeveralButtons
Пример 3. Окно с несколькими кнопками по вертикали и несколькими компонентами по горизонтали JavaFXExampleSeveralPanels
При настройке расположения элементов на панели можно
1) настроить саму панель. Например, в VBox: .setSpacing() — пропуски между элементами
2) каждому элементу на панели можно добавить свои настройки о его расположении.
- донастроим JavaFX