com.vaadin.flow.component.menubar.
Class MenuBar
All Implemented Interfaces:
AttachNotifier
, HasMenuItems
, DetachNotifier
, HasElement
, HasEnabled
, HasSize
, HasStyle
, HasTheme
, HasOverlayClassName
, HasThemeVariant<MenuBarVariant>
, Serializable
Menu Bar is a horizontal button bar with hierarchical drop-down menus. Menu items can either trigger an action, open a menu, or work as a toggle.
Author:
Vaadin Ltd
See Also:
-
Nested Class Summary
Nested Classes -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionCreates a new
MenuItem
component and adds it to the root level of this menu bar.addItem
(Component component, ComponentEventListener<ClickEvent<MenuItem>> clickListener) Creates a new
MenuItem
component with the provided click listener and adds it to the root level of this menu bar.Creates a new
MenuItem
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 new
MenuItem
component with the provided click listener and the tooltip text and adds it to the root level of this menu bar.Creates a new
MenuItem
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 new
MenuItem
component with the provided text content and click listener and adds it to the root level of this menu bar.Creates a new
MenuItem
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 new
MenuItem
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 the
MenuItem
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 given
MenuItem
.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 new
MenuItem
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 itemReturns:
the added
MenuItem
component -
addItem
Creates a new
MenuItem
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 itemReturns:
the added
MenuItem
component -
addItem
Creates a new
MenuItem
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 listenerReturns:
the added
MenuItem
componentSee Also:
-
addItem
public MenuItem addItem(Component component, ComponentEventListener<ClickEvent<MenuItem>> clickListener) Creates a new
MenuItem
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 listenerReturns:
the added
MenuItem
componentSee Also:
-
addItem
Creates a new
MenuItem
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 itemReturns:
the added
MenuItem
component -
addItem
Creates a new
MenuItem
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 itemReturns:
the added
MenuItem
component -
addItem
public MenuItem addItem(String text, String tooltipText, ComponentEventListener<ClickEvent<MenuItem>> clickListener) Creates a new
MenuItem
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 listenerReturns:
the added
MenuItem
component -
addItem
public MenuItem addItem(Component component, String tooltipText, ComponentEventListener<ClickEvent<MenuItem>> clickListener) Creates a new
MenuItem
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 listenerReturns:
the added
MenuItem
component -
getItems
Gets the
MenuItem
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.
-