BoxLayout
BoxLayout представляет собой контейнер с последовательным размещением компонентов.
XML-имена компонентов: hbox,vbox и flowBox.
Основы
Существует три типа BoxLayout:
hbox
hbox − компоненты располагаются горизонтально:
<layout>
<hbox id="hbox"
spacing="true">
<label align="MIDDLE_LEFT"
value="Label"/>
<textField inputPrompt="TextField" required="true"/>
<button caption="Button"/>
<button caption="Button"/>
</hbox>
</layout>
vbox
vbox − компоненты располагаются вертикально, width=100% по умолчанию.
<layout>
<vbox id="vbox"
spacing="true">
<label value="Label"/>
<textField inputPrompt="TextField" required="true"/>
<button caption="Button"/>
<button caption="Button"/>
</vbox>
</layout>
flowbox
flowBox − компоненты располагаются горизонтально с переносом строк. Если в строке недостаточно места, непомещающиеся компоненты будут отображены в следующей строке.
<layout>
<flowBox id="flowBox"
spacing="true"
width="300px">
<label value="Label"/>
<textField inputPrompt="TextField"/>
<button caption="Button"/>
<button caption="Button"/>
</flowBox>
</layout>
Стили
BoxLayout можно использовать для создания расширенных составных компоновок. Например, атрибут stylename со значением card или well вместе с stylename="v-panel-caption" для закрытого контейнера сделает компонент похожим на Vaadin Panel:
<layout>
<vbox stylename="well"
height="200px"
width="300px"
expand="message"
spacing="true">
<hbox stylename="v-panel-caption"
width="100%">
<label value="Widget caption"/>
<button align="MIDDLE_RIGHT"
icon="font-icon:EXPAND"
stylename="borderless-colored"/>
</hbox>
<textArea id="message"
inputPrompt="Enter your message here..."
width="280"
align="MIDDLE_CENTER"/>
<button caption="Send message"
width="100%"/>
</vbox>
</layout>
Все XML-атрибуты
align - box.expandRatio - caption - captionAsHtml - colspan - contextHelpText - contextHelpTextHtmlEnabled - css - description - descriptionAsHtml - editable - expand - height - htmlSanitizerEnabled - icon - id - margin - requiredIndicatorVisible - responsive - rowspan - spacing - stylename - visible - width