Менеджер по верстке - Layout manager

Менеджеры по компоновке программные компоненты, используемые в наборы инструментов для виджетов которые имеют возможность выложить графические элементы управления по их относительному положению без использования единиц расстояния. Часто более естественно определять компоновки компонентов таким образом, чем определять их положение в пиксели или обычные единицы измерения расстояния, поэтому ряд популярных наборы инструментов для виджетов включить эту возможность по умолчанию. Наборы инструментов для виджетов, которые предоставляют эту функцию, обычно можно разделить на две группы:

  • Те, где поведение макета закодировано в специальных графические контейнеры. Так обстоит дело в XUL и .NET Framework инструментарий виджетов (оба в Windows Forms И в XAML ).
  • Те, в которых поведение макета закодировано в менеджерах макета, которые могут быть применены к любому графическому контейнеру. Так обстоит дело в Качать набор инструментов виджетов, который является частью Java API.

Примеры

XUL

В XUL, словно vbox контейнер для укладки компонентов друг на друга.

<?xml version="1.0"?><?xml-stylesheet href="chrome://global/skin/" type="text/css"?><окно id ="пример vbox" title ="Пример"        xmlns ="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"><vbox>  кнопка < id ="да" label ="Да"/>  кнопка < id ="нет" label ="Нет"/>  кнопка < id ="может быть" label ="Может быть"/></vbox></window>

Этот фрагмент кода показывает 3 кнопки, расположенные друг над другом в вертикальном поле.

XAML

В ДокПанель контейнер размещает дочерние компоненты в соответствии с их Док характеристики.

<Страница xmlns ="http://schemas.microsoft.com/winfx/2006/xaml/presentation"       WindowTitle ="Панель myDock">  <DockPanel>       DockPanel.Dock ="Вершина">1 место</TextBlock>       DockPanel.Dock ="Вершина">Топ 2</TextBlock>       DockPanel.Dock ="Вершина">Топ 3</TextBlock>       DockPanel.Dock ="Вершина">Топ 4</TextBlock>  </DockPanel></Page>

Этот код показывает 4 текстовых блока друг над другом.

Ява

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

импорт javax.swing.JFrame;импорт javax.swing.JButton;импорт java.awt.FlowLayout;импорт java.awt.Container;общественный учебный класс Пример {    частный JFrame Рамка;    общественный Пример() {        Рамка = новый JFrame(«Демо FlowLayout»);        Рамка.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);        Рамка.setLayout(новый FlowLayout());        Рамка.Добавить((новый JButton(«Кнопка 1»)));        Рамка.Добавить((новый JButton(«Кнопка 2»)));        Рамка.Добавить((новый JButton(«Кнопка 3»)));        Рамка.Добавить((новый JButton("Кнопка с длинным названием 4")));        Рамка.Добавить((новый JButton("5")));        Рамка.пакет();        Рамка.setVisible(истинный);    }    общественный статический пустота главный(Нить[] аргументы) {        Пример бывший = новый Пример();    }}

Этот код показывает 5 кнопок рядом друг с другом на одной строке:

Пример FlowLayout

внешняя ссылка