ОТВЕРСТИЯ ОТ ПУЛЬ
- Менеджеры компоновки управляют размером и расположением компонентов, вложенных в другие компоненты.
- Когда вы добавляете компонент в другой компонент (иногда называемый фоновым компонентом, но это не техническое различие), добавленный компонент управляется менеджером компоновки фонового компонента.
- Менеджер компоновки запрашивает у компонентов предпочтительный размер, прежде чем принять решение о компоновке. В зависимости от политик менеджера компоновки он может учитывать все, некоторые или ни одно из пожеланий компонента.
- Менеджер BorderLayout позволяет добавить компонент в один из пяти регионов. Вы должны указать регион при добавлении компонента, используя следующий синтаксис: add(BorderLayout.EAST, panel);
- С помощью BorderLayout компоненты на севере и юге получают предпочтительную высоту, но не ширину. Компоненты на востоке и западе получают предпочтительную ширину, но не высоту. Компонент в центре получает все, что осталось (если вы не используете pack()).
- Метод pack() подобен упаковке компонентов; он использует полный предпочтительный размер центрального компонента, затем определяет размер кадра, используя центр в качестве отправной точки, а остальное строит на основе того, что находится в других областях.
- FlowLayout размещает компоненты слева направо, сверху вниз в том порядке, в котором они были добавлены, перенося их на новую строку компонентов только тогда, когда компоненты не помещаются горизонтально.
- FlowLayout дает компонентам предпочтительный размер в обоих измерениях.
- BoxLayout позволяет выравнивать компоненты, сложенные вертикально, даже если они могут располагаться рядом. Как и FlowLayout, BoxLayout использует предпочтительный размер компонента в обоих измерениях.
- BorderLayout — менеджер компоновки по умолчанию для фрейма; FlowLayout используется по умолчанию для панели.
- Если вы хотите, чтобы панель использовала что-то другое, кроме потока, вам нужно вызвать setLayout() на панели.
22