ОТВЕРСТИЯ ОТ ПУЛЬ

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

22