com.vaadin.flow.component.orderedlayout.
Class HorizontalLayout
- java.lang.Object
-
- com.vaadin.flow.component.Component
-
- com.vaadin.flow.component.orderedlayout.HorizontalLayout
-
All Implemented Interfaces:
AttachNotifier
,ClickNotifier<HorizontalLayout>
,DetachNotifier
,HasComponents
,HasElement
,HasEnabled
,HasOrderedComponents
,HasSize
,HasStyle
,FlexComponent
,ThemableLayout
,Serializable
@Tag("vaadin-horizontal-layout") @NpmPackage(value="@vaadin/polymer-legacy-adapter",version="23.1.15") @NpmPackage(value="@vaadin/horizontal-layout",version="23.1.15") @NpmPackage(value="@vaadin/vaadin-ordered-layout",version="23.1.15") @JsModule("@vaadin/polymer-legacy-adapter/style-modules.js") @JsModule("@vaadin/horizontal-layout/src/vaadin-horizontal-layout.js") public class HorizontalLayout extends Component implements ThemableLayout, FlexComponent, ClickNotifier<HorizontalLayout>
Horizontal Layout places components side-by-side in a row. By default, it has undefined width and height, meaning its size is determined by the components it contains.
See Also:
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.vaadin.flow.component.orderedlayout.FlexComponent
FlexComponent.Alignment, FlexComponent.JustifyContentMode
-
-
Constructor Summary
Constructors Constructor Description HorizontalLayout()
Constructs an empty layout with spacing on by default.
HorizontalLayout(Component... children)
Convenience constructor to create a layout with the children already inside it.
-
Method Summary
All Methods Modifier and Type Method Description void
addAndExpand(Component... components)
Adds the given components to this layout and sets them as expanded.
FlexComponent.Alignment
getAlignItems()
This is the same as
getDefaultVerticalComponentAlignment()
.FlexComponent.Alignment
getAlignSelf(HasElement container)
This is the same as
getVerticalComponentAlignment(Component)
.FlexComponent.Alignment
getDefaultVerticalComponentAlignment()
Gets the default vertical alignment used by all components without individual alignments inside the layout.
FlexComponent.Alignment
getVerticalComponentAlignment(Component component)
Gets the individual vertical alignment of a given component.
void
setAlignItems(FlexComponent.Alignment alignment)
This is the same as
setDefaultVerticalComponentAlignment(Alignment)
.void
setAlignSelf(FlexComponent.Alignment alignment, HasElement... elementContainers)
This is the same as
setVerticalComponentAlignment(Alignment, Component...)
.void
setDefaultVerticalComponentAlignment(FlexComponent.Alignment alignment)
Sets the default vertical alignment to be used by all components without individual alignments inside the layout.
void
setSpacing(boolean spacing)
Toggles
spacing
theme setting for the element.void
setVerticalComponentAlignment(FlexComponent.Alignment alignment, Component... componentsToAlign)
Sets a vertical alignment for individual components inside the layout.
-
Methods inherited from class com.vaadin.flow.component.Component
addListener, fireEvent, from, get, getChildren, getElement, getEventBus, getId, getLocale, getParent, getTranslation, getTranslation, getTranslation, getUI, hasListener, isAttached, isTemplateMapped, isVisible, onAttach, onDetach, onEnabledStateChanged, scrollIntoView, set, setElement, setId, setVisible
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.vaadin.flow.component.AttachNotifier
addAttachListener
-
Methods inherited from interface com.vaadin.flow.component.ClickNotifier
addClickListener, addClickShortcut
-
Methods inherited from interface com.vaadin.flow.component.DetachNotifier
addDetachListener
-
Methods inherited from interface com.vaadin.flow.component.orderedlayout.FlexComponent
expand, getFlexGrow, getJustifyContentMode, replace, setFlexGrow, setJustifyContentMode
-
Methods inherited from interface com.vaadin.flow.component.HasComponents
add, add, addComponentAsFirst, addComponentAtIndex, remove, removeAll
-
Methods inherited from interface com.vaadin.flow.component.HasElement
getElement
-
Methods inherited from interface com.vaadin.flow.component.HasEnabled
isEnabled, setEnabled
-
Methods inherited from interface com.vaadin.flow.component.HasOrderedComponents
getChildren, getComponentAt, getComponentCount, indexOf
-
Methods inherited from interface com.vaadin.flow.component.HasSize
getHeight, getHeightUnit, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getWidth, getWidthUnit, setHeight, setHeight, setHeightFull, setMaxHeight, setMaxHeight, setMaxWidth, setMaxWidth, setMinHeight, setMinHeight, setMinWidth, setMinWidth, setSizeFull, setSizeUndefined, setWidth, setWidth, setWidthFull
-
Methods inherited from interface com.vaadin.flow.component.HasStyle
addClassName, addClassNames, getClassName, getClassNames, getStyle, hasClassName, removeClassName, removeClassNames, setClassName, setClassName
-
Methods inherited from interface com.vaadin.flow.component.orderedlayout.ThemableLayout
getBoxSizing, getThemeList, isMargin, isPadding, isSpacing, setBoxSizing, setMargin, setPadding
-
-
-
-
Constructor Detail
-
HorizontalLayout
public HorizontalLayout()
Constructs an empty layout with spacing on by default.
-
HorizontalLayout
public HorizontalLayout(Component... children)
Convenience constructor to create a layout with the children already inside it.
Parameters:
children
- the items to add to this layoutSee Also:
-
-
Method Detail
-
setSpacing
public void setSpacing(boolean spacing)
Toggles
spacing
theme setting for the element. If a theme supports this attribute, it will apply or remove spacing to the element.This method adds medium spacing to the component theme, to set other options, use
ThemableLayout.getThemeList()
. List of options possible:- spacing-xs
- spacing-s
- spacing
- spacing-l
- spacing-xl
Spacing is enabled by default for horizontal layout.
Specified by:
setSpacing
in interfaceThemableLayout
Parameters:
spacing
- addsspacing
theme setting iftrue
or removes it iffalse
-
setVerticalComponentAlignment
public void setVerticalComponentAlignment(FlexComponent.Alignment alignment, Component... componentsToAlign)
Sets a vertical alignment for individual components inside the layout. This individual alignment for the component overrides any alignment set at the
setDefaultVerticalComponentAlignment(Alignment)
.It effectively sets the
"alignSelf"
style value.The default alignment for individual components is
FlexComponent.Alignment.AUTO
.It's the same as the
setAlignSelf(Alignment, HasElement...)
methodParameters:
alignment
- the individual alignment for the children components. Settingnull
will reset the alignment to its defaultcomponentsToAlign
- The components to which the individual alignment should be setSee Also:
-
getVerticalComponentAlignment
public FlexComponent.Alignment getVerticalComponentAlignment(Component component)
Gets the individual vertical alignment of a given component.
The default alignment for individual components is
FlexComponent.Alignment.AUTO
.It's the same as the
getAlignSelf(HasElement)
method.Parameters:
component
- The component which individual layout should be readReturns:
the alignment of the component, never
null
See Also:
-
setDefaultVerticalComponentAlignment
public void setDefaultVerticalComponentAlignment(FlexComponent.Alignment alignment)
Sets the default vertical alignment to be used by all components without individual alignments inside the layout. Individual components can be aligned by using the
setVerticalComponentAlignment(Alignment, Component...)
method.It effectively sets the
"alignItems"
style value.The default alignment is
FlexComponent.Alignment.STRETCH
.It's the same as the
setAlignItems(Alignment)
method.Parameters:
alignment
- the alignment to apply to the components. Settingnull
will reset the alignment to its defaultSee Also:
-
getDefaultVerticalComponentAlignment
public FlexComponent.Alignment getDefaultVerticalComponentAlignment()
Gets the default vertical alignment used by all components without individual alignments inside the layout.
The default alignment is
FlexComponent.Alignment.STRETCH
.This is the same as the
getAlignItems()
method.Returns:
the general alignment used by the layout, never
null
-
setAlignItems
public void setAlignItems(FlexComponent.Alignment alignment)
This is the same as
setDefaultVerticalComponentAlignment(Alignment)
.Specified by:
setAlignItems
in interfaceFlexComponent
Parameters:
alignment
- the alignment to apply to the components. Settingnull
will reset the alignment to its defaultSee Also:
-
getAlignItems
public FlexComponent.Alignment getAlignItems()
This is the same as
getDefaultVerticalComponentAlignment()
.Specified by:
getAlignItems
in interfaceFlexComponent
Returns:
the general alignment used by the layout, never
null
-
setAlignSelf
public void setAlignSelf(FlexComponent.Alignment alignment, HasElement... elementContainers)
This is the same as
setVerticalComponentAlignment(Alignment, Component...)
.Specified by:
setAlignSelf
in interfaceFlexComponent
Parameters:
alignment
- the individual alignment for the children components. Settingnull
will reset the alignment to its defaultelementContainers
- The element containers (components) to which the individual alignment should be setSee Also:
-
getAlignSelf
public FlexComponent.Alignment getAlignSelf(HasElement container)
This is the same as
getVerticalComponentAlignment(Component)
.Specified by:
getAlignSelf
in interfaceFlexComponent
Parameters:
container
- The element container (component) which individual layout should be readReturns:
the alignment of the container, never
null
See Also:
-
addAndExpand
public void addAndExpand(Component... components)
Adds the given components to this layout and sets them as expanded. The flex-grow of all added child components are set to 1 so that the expansion will be effective. The width of this layout is also set to 100%.
Parameters:
components
- the components to set, notnull
-
-