Описание тега layout-manager

Менеджеры компоновки - это набор стандартных менеджеров компоновки на основе Java для компонентов AWT и Swing. Менеджеры обрабатывают логику того, как определять размер, положение и выравнивание компонентов в контейнере, а также устанавливать ориентацию контейнера так, чтобы она соответствовала языку, в котором выполняется программа.

LayoutManager это интерфейс Java для классов, которые знают, как разметить содержимое Container. Типичные контейнеры включаютJPanel для Swing и Panel для AWT, но многие другие (например, Window) возможны.

Диспетчер компоновки размещает компоненты контейнера в соответствии с правилами, которые различны для каждой реализации. Например,GridLayout размещает компоненты в виде таблицы, а BorderLayout помещает один в центр и до четырех других на каждом краю.

Хотя менеджеры по оформлению часто звонят getPreferredSizeна компоненте, чтобы узнать, сколько места ему потребуется, подсказки размера также регулярно игнорируются. EG вGridLayout все компоненты становятся размером наибольшей ширины и высоты, в BorderLayout в CENTER компонент будет растянут до доступного пространства, верх / низ будет растянут по ширине, а начало / конец строки будет растянуто по высоте).

Макеты обычно комбинируются для создания сложных графических интерфейсов. EG, как показано в примере вложенного макета.

Если для менеджера компоновки какого-либо конкретного компонента установлено значение null, компоненты можно расположить произвольно, задав их границы вручную. Это вызывает множество проблем, и первым шагом в решении этих проблем обычно является "установка макета".

Существующие менеджеры компоновки

AWT

  • BorderLayout. ОбеспечиваетCENTER & 4 границы для размещения компонентов.
  • CardLayout хорошо подходит для замены многих компонентов или представлений в одном родительском контейнере.
  • FlowLayout самый простой в использовании, размещает компоненты один за другим, слева направо, сверху вниз. Обычно подходит только для одиночных рядов компонентов.
  • GridBagLayout может легко выполнять некоторые простые задачи (например, "центрировать в нужном размере"), но также позволяет создавать сложные макеты.
  • GridLayout предоставляет сетку пространств компонентов (Ш x В) одинакового размера.

Качели

  • BoxLayout предоставляет конструкцию типа "коробку" для добавления компонентов в строку или столбец.
  • GroupLayout является мощным, позволяющим выравнивать компоненты и группы компонентов, но обычно считается макетом для использования в IDE.
  • OverlayLayout позволяет штабелировать компоненты.
  • ScrollPaneLayout Используется внутри других компонентов Swing.
  • SpringLayout это способ размещения компонентов с пробелом, позволяющий выравнивать компоненты по краям.
  • ViewportLayout Используется внутри других компонентов Swing.

Третья сторона

Соответствующие руководства: