You're viewing an older version of Vaadin JavaDoc. Please see version 24.7.0 for the latest.
com.vaadin.flow.component.contextmenu.

Class MenuManager<C extends Component,​I extends MenuItemBase<?,​I,​S>,​S extends SubMenuBase<?,​I,​S>>

  • java.lang.Object
    • com.vaadin.flow.component.contextmenu.MenuManager<C,​I,​S>
  • Type Parameters:

    C - the context menu type

    I - the menu item type

    S - the sub menu type

    All Implemented Interfaces:

    Serializable

    public class MenuManager<C extends Component,​I extends MenuItemBase<?,​I,​S>,​S extends SubMenuBase<?,​I,​S>>
    extends Object
    implements Serializable

    Common management logic for context menus and sub menus. Maintains the list of components to stamp into one overlay.

    Author:

    Vaadin Ltd.

    See Also:

    Serialized Form

    • Constructor Detail

      • MenuManager

        public MenuManager​(C menu,
                           SerializableRunnable contentReset,
                           SerializableBiFunction<C,​SerializableRunnable,​I> itemGenerator,
                           Class<I> itemType,
                           I parentMenuItem)

        Creates a new manager instance.

        Parameters:

        menu - the context menu

        contentReset - callback to reset the context menu

        itemGenerator - the item generator/factory

        itemType - the item type

        parentMenuItem - the parent menu item of the submenu

    • Method Detail

      • addItem

        public I addItem​(String text)

        Adds a text as a menu item.

        Parameters:

        text - the text for the menu item

        Returns:

        a new menu item

      • addItem

        public I addItem​(Component component)

        Adds a component as a menu item.

        Parameters:

        component - the component for the menu item

        Returns:

        a new menu item

      • addItem

        public I addItem​(String text,
                         ComponentEventListener<ClickEvent<I>> clickListener)

        Adds a text as a menu item with a click listener.

        Parameters:

        text - the text for the menu item

        clickListener - a click listener

        Returns:

        a new menu item

      • addItem

        public I addItem​(Component component,
                         ComponentEventListener<ClickEvent<I>> clickListener)

        Adds a component as a menu item with a click listener.

        Parameters:

        component - the component for the menu item

        clickListener - a click listener

        Returns:

        a new menu item

      • remove

        public void remove​(Component... components)

        Removes components to the (sub)menu.

        Parameters:

        components - components to remove

        See Also:

        add(Component...)

      • removeAll

        public void removeAll()

        Remove all components and items from (sub)menu.

        See Also:

        remove(Component...)

      • addComponentAtIndex

        public void addComponentAtIndex​(int index,
                                        Component component)

        Inserts component to the (sub)menu using the index.

        The component is inserted into the content as is, it is not wrapped as a menu item.

        Parameters:

        index - index to insert, not negative

        component - component to insert

        See Also:

        add(Component...), remove(Component...)

      • getItems

        public List<I> getItems()

        Gets all children items.

        The items are filtered using the provided item type in the constructor.

        Returns:

        all children items

        See Also:

        getChildren()