Class MenuBar
- All Implemented Interfaces:
AttachNotifier
,HasMenuItems
,DetachNotifier
,HasElement
,HasEnabled
,HasSize
,HasStyle
,HasTheme
,HasOverlayClassName
,HasThemeVariant<MenuBarVariant>
,Serializable
- Author:
- Vaadin Ltd
- See Also:
-
Nested Class Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionCreates a newMenuItem
component and adds it to the root level of this menu bar.addItem
(Component component, ComponentEventListener<ClickEvent<MenuItem>> clickListener) Creates a newMenuItem
component with the provided click listener and adds it to the root level of this menu bar.Creates a newMenuItem
component with the provided tooltip text and adds it to the root level of this menu bar.addItem
(Component component, String tooltipText, ComponentEventListener<ClickEvent<MenuItem>> clickListener) Creates a newMenuItem
component with the provided click listener and the tooltip text and adds it to the root level of this menu bar.Creates a newMenuItem
component with the provided text content and adds it to the root level of this menu bar.addItem
(String text, ComponentEventListener<ClickEvent<MenuItem>> clickListener) Creates a newMenuItem
component with the provided text content and click listener and adds it to the root level of this menu bar.Creates a newMenuItem
component with the provided text content and the tooltip text and adds it to the root level of this menu bar.addItem
(String text, String tooltipText, ComponentEventListener<ClickEvent<MenuItem>> clickListener) Creates a newMenuItem
component with the provided text content and the tooltip text and click listener and adds it to the root level of this menu bar.void
close()
Closes the current submenu.Gets the child components of this menu bar.getI18n()
Gets the internationalization object previously set for this component.getItems()
Gets theMenuItem
components added to the root level of the menu bar.boolean
Gets whether the sub menus open by clicking or hovering on the root level buttons.boolean
Gets whether the menu bar uses reverse collapse order.boolean
Gets whether the menu bar uses tab navigation.protected void
onAttach
(AttachEvent attachEvent) Called when the component is attached to a UI.void
Removes the given item components from this menu bar.void
Removes all item components from this menu bar.void
setI18n
(MenuBar.MenuBarI18n i18n) Sets the internationalization object for this component.void
setOpenOnHover
(boolean openOnHover) Sets the event which opens the sub menus of the root level buttons.void
setReverseCollapseOrder
(boolean reverseCollapseOrder) Sets reverse collapse order for the menu bar.void
setTabNavigation
(boolean tabNavigation) Sets tab navigation for the menu bar.void
setTooltipText
(MenuItem item, String tooltipText) Sets the tooltip text for the givenMenuItem
.Methods inherited from class com.vaadin.flow.component.Component
addListener, findAncestor, fireEvent, from, get, getElement, getEventBus, getId, getListeners, getLocale, getParent, getTranslation, getTranslation, getTranslation, getTranslation, getTranslation, getTranslation, getUI, hasListener, isAttached, isTemplateMapped, isVisible, onDetach, onEnabledStateChanged, removeFromParent, scrollIntoView, 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.DetachNotifier
addDetachListener
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.shared.HasOverlayClassName
getOverlayClassName, setOverlayClassName
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.HasTheme
addThemeName, addThemeNames, getThemeName, getThemeNames, hasThemeName, removeThemeName, removeThemeNames, setThemeName, setThemeName
Methods inherited from interface com.vaadin.flow.component.shared.HasThemeVariant
addThemeVariants, removeThemeVariants
-
Constructor Details
-
MenuBar
public MenuBar()Creates an empty menu bar component.Use
addItem(String)
to add content to the menu bar.
-
-
Method Details
-
addItem
Creates a newMenuItem
component with the provided text content and adds it to the root level of this menu bar.The added
MenuItem
component is placed inside a button in the menu bar. If this button overflows the menu bar horizontally, theMenuItem
is moved out of the button, into a context menu openable via an overflow button at the end of the button row.To add content to the sub menu opened by clicking the root level item, use
MenuItemBase.getSubMenu()
.- Parameters:
text
- the text content for the new item- Returns:
- the added
MenuItem
component
-
addItem
Creates a newMenuItem
component and adds it to the root level of this menu bar. The provided component is added into the createdMenuItem
.The added
MenuItem
component is placed inside a button in the menu bar. If this button overflows the menu bar horizontally, theMenuItem
is moved out of the button, into a context menu openable via an overflow button at the end of the button row.To add content to the sub menu opened by clicking the root level item, use
MenuItemBase.getSubMenu()
.- Parameters:
component
- the component to add inside new item- Returns:
- the added
MenuItem
component
-
addItem
Creates a newMenuItem
component with the provided text content and click listener and adds it to the root level of this menu bar.The added
MenuItem
component is placed inside a button in the menu bar. If this button overflows the menu bar horizontally, theMenuItem
is moved out of the button, into a context menu openable via an overflow button at the end of the button row.To add content to the sub menu opened by clicking the root level item, use
MenuItemBase.getSubMenu()
.- Specified by:
addItem
in interfaceHasMenuItems
- Parameters:
text
- the text content for the new itemclickListener
- the handler for clicking the new item, can benull
to not add listener- Returns:
- the added
MenuItem
component - See Also:
-
addItem
public MenuItem addItem(Component component, ComponentEventListener<ClickEvent<MenuItem>> clickListener) Creates a newMenuItem
component with the provided click listener and adds it to the root level of this menu bar. The provided component is added into the createdMenuItem
.The added
MenuItem
component is placed inside a button in the menu bar. If this button overflows the menu bar horizontally, theMenuItem
is moved out of the button, into a context menu openable via an overflow button at the end of the button row.To add content to the sub menu opened by clicking the root level item, use
MenuItemBase.getSubMenu()
.- Specified by:
addItem
in interfaceHasMenuItems
- Parameters:
component
- the component to add inside the added menu itemclickListener
- the handler for clicking the new item, can benull
to not add listener- Returns:
- the added
MenuItem
component - See Also:
-
addItem
Creates a newMenuItem
component with the provided text content and the tooltip text and adds it to the root level of this menu bar.The added
MenuItem
component is placed inside a button in the menu bar. If this button overflows the menu bar horizontally, theMenuItem
is moved out of the button, into a context menu openable via an overflow button at the end of the button row.To add content to the sub menu opened by clicking the root level item, use
MenuItemBase.getSubMenu()
.- Parameters:
text
- the text content for the new itemtooltipText
- the tooltip text for the new item- Returns:
- the added
MenuItem
component
-
addItem
Creates a newMenuItem
component with the provided tooltip text and adds it to the root level of this menu bar. The provided component is added into the createdMenuItem
.The added
MenuItem
component is placed inside a button in the menu bar. If this button overflows the menu bar horizontally, theMenuItem
is moved out of the button, into a context menu openable via an overflow button at the end of the button row.To add content to the sub menu opened by clicking the root level item, use
MenuItemBase.getSubMenu()
.- Parameters:
component
- the component to add inside new itemtooltipText
- the tooltip text for the new item- Returns:
- the added
MenuItem
component
-
addItem
public MenuItem addItem(String text, String tooltipText, ComponentEventListener<ClickEvent<MenuItem>> clickListener) Creates a newMenuItem
component with the provided text content and the tooltip text and click listener and adds it to the root level of this menu bar.The added
MenuItem
component is placed inside a button in the menu bar. If this button overflows the menu bar horizontally, theMenuItem
is moved out of the button, into a context menu openable via an overflow button at the end of the button row.To add content to the sub menu opened by clicking the root level item, use
MenuItemBase.getSubMenu()
.- Parameters:
text
- the text content for the new itemtooltipText
- the tooltip text for the new itemclickListener
- the handler for clicking the new item, can benull
to not add listener- Returns:
- the added
MenuItem
component
-
addItem
public MenuItem addItem(Component component, String tooltipText, ComponentEventListener<ClickEvent<MenuItem>> clickListener) Creates a newMenuItem
component with the provided click listener and the tooltip text and adds it to the root level of this menu bar. The provided component is added into the createdMenuItem
.The added
MenuItem
component is placed inside a button in the menu bar. If this button overflows the menu bar horizontally, theMenuItem
is moved out of the button, into a context menu openable via an overflow button at the end of the button row.To add content to the sub menu opened by clicking the root level item, use
MenuItemBase.getSubMenu()
.- Parameters:
component
- the component to add inside the added menu itemtooltipText
- the tooltip text for the new itemclickListener
- the handler for clicking the new item, can benull
to not add listener- Returns:
- the added
MenuItem
component
-
getItems
Gets theMenuItem
components added to the root level of the menu bar.To manage the contents inside the sub menus, use the
MenuItemBase.getSubMenu()
.- Returns:
- the root level
MenuItem
components added to this menu bar
-
removeAll
public void removeAll()Removes all item components from this menu bar. -
getChildren
Gets the child components of this menu bar.The returned components are the same as the ones returned by
getItems()
.- Overrides:
getChildren
in classComponent
- Returns:
- the child components of this menu bar
- See Also:
-
setOpenOnHover
public void setOpenOnHover(boolean openOnHover) Sets the event which opens the sub menus of the root level buttons.- Parameters:
openOnHover
-true
to make the sub menus open on hover (mouseover),false
to make them openable by clicking
-
isOpenOnHover
public boolean isOpenOnHover()Gets whether the sub menus open by clicking or hovering on the root level buttons.- Returns:
true
if the sub menus open by hovering on the root level buttons,false
if they open by clicking
-
setReverseCollapseOrder
public void setReverseCollapseOrder(boolean reverseCollapseOrder) Sets reverse collapse order for the menu bar.- Parameters:
reverseCollapseOrder
- Iftrue
, the buttons will be collapsed into the overflow menu starting from the "start" end of the bar instead of the "end".
-
isReverseCollapseOrder
public boolean isReverseCollapseOrder()Gets whether the menu bar uses reverse collapse order.- Returns:
true
if the buttons will be collapsed into the overflow menu starting from the "start" end of the bar instead of the "end".
-
getI18n
Gets the internationalization object previously set for this component.NOTE: Updating the instance that is returned from this method will not update the component if not set again using
setI18n(MenuBarI18n)
- Returns:
- the i18n object or
null
if no i18n object has been set
-
onAttach
Description copied from class:Component
Called when the component is attached to a UI.This method is invoked before the
Make sure to callAttachEvent
is fired for the component.super.onAttach
when overriding this method. -
close
public void close()Closes the current submenu.
-