Вам захочется поиграть с менеджерами компоновки , чтобы управлять расположением и размерами элементов управления в JPanel
. Менеджеры по расположению отвечают за размещение элементов управления, определяя, куда они идут, насколько они велики, сколько места между ними, что происходит при изменении размера окна и т. Д.
Существует множество различных менеджеров компоновки, каждый из которых позволяет по-разному компоновать элементы управления. Менеджер компоновки по умолчанию - FlowLayout
, который, как вы видели, просто размещает компоненты рядом друг с другом слева направо. Это самое простое. Некоторые другие распространенные менеджеры компоновки:
GridLayout
- расположение компонентов в прямоугольной сетке с одинаковыми строками и столбцами
BorderLayout
- имеет один основной компонент в центре и до четырех окружающих компонентов сверху, снизу, слева и справа.
GridBagLayout
- Большая Берта из всех встроенных менеджеров макетов, она самая гибкая, но и самая сложная в использовании.
Вы можете, например, использовать BoxLayout для размещения меток.
BoxLayout
либо укладывает свои компоненты друг на друга, либо размещает их в ряд - на ваш выбор. Вы можете думать об этом как о версии FlowLayout
, но с большей функциональностью. Вот изображение приложения, которое демонстрирует использование BoxLayout
для отображения центрированного столбца компонентов:
Пример кода, использующего BoxLayout
:
JPanel pMeasure = new JPanel();
....
JLabel economy = new JLabel("Economy");
JLabel regularity = new JLabel("Regularity");
pMeasure.setLayout(new BoxLayout(pMeasure, BoxLayout.Y_AXIS));
pMeasure.add(economy);
pMeasure.add(regularity);
...