Для динамического размещения объектов в библиотеке Swing используют менеджеры расположения. 1 Они размещают добавляемые в контейнер компоненты в определённом порядке и определяют их размер. 1
Некоторые подходы:
- BorderLayout. 13 Предназначен для обычных и диалоговых окон. 1 Позволяет расположить наиболее часто используемые элементы: панель инструментов, строку состояния и основное содержимое. 1 Окно разбивается на четыре области, а всё оставшееся место заполняется компонентом, выполняющим основную функцию приложения. 1
- FlowLayout. 2 Компоненты размещаются в последовательных строках внутри контейнера слева направо. 2 В каждой строке помещается как можно больше компонентов, а те, которые не помещаются, переносятся на следующую строку. 2
- GridLayout. 23 Компоненты размещаются в прямоугольной сетке с указанным количеством строк и столбцов. 2 Можно также конструировать прямоугольные сетки с вертикальными или горизонтальными отступами между компонентами. 2
- BoxLayout. 3 Используется для размещения компонентов по вертикали или горизонтали. 3 Для этого класс предоставляет четыре константы: XAXIS (выравнивание по горизонтали) и YAXIS (выравнивание по вертикали). 3
- GroupLayout. 4 Позволяет заменять компоненты во время выполнения программы. 4 Например, флажок может переключаться между компонентом, выводящим на экран график или дерево. 4
Изменять расположение желательно только в контейнерах, которые предназначены для размещения в них компонентов пользовательского интерфейса, то есть в панелях (JPanel) и окнах. 1