5.5.2.1.1. AppMenu
Компонент AppMenu
позволяет динамически управлять элементами главного меню в главном окне приложения.
CUBA Studio предоставляет готовый шаблон главного экрана на основе стандартного экрана mainWindow
платформы. Шаблон расширяет класс AppMainWindow
и обеспечивает прямой доступ к экземпляру компонента AppMenu
:
public class ExtAppMainWindow extends AppMainWindow {
@Override
public void init(Map<String, Object> params) {
super.init(params);
AppMenu.MenuItem item = mainMenu.createMenuItem("shop", "Shop");
AppMenu.MenuItem subItem = mainMenu.createMenuItem("customer", "Customers", null, menuItem -> {
showNotification("Customers menu item clicked", NotificationType.HUMANIZED);
});
item.addChildItem(subItem);
mainMenu.addMenuItem(item, 0);
}
}
Методы интерфейса AppMenu
:
-
addMenuItem()
- добавляет элемент меню в конец списка элементов или на позицию с указанным индексом.
-
createMenuItem()
- фабричный метод для создания нового элемента меню. Не добавляет элемент к меню.id
должен быть уникальным внутри всего меню.
-
createSeparator()
- создаёт разделитель элементов меню. -
getMenuItem()/getMenuItemNN()
- возвращает объект элемента меню по его идентификатору. -
getMenuItems()
- возвращает список элементов меню. -
hasMenuItems()
- возвращаетtrue
, если меню содержит элементы.
Методы интерфейса MenuItem
:
-
addChildItem() / removeChildItem()
- добавляет/удаляет элемент меню в конец или на указанную позицию в списке дочерних элементов. -
getCaption()
- возвращает строковый заголовок элемента меню. -
getChildren()
- возвращает список дочерних элементов.
-
setCommand()
- используется для описания действия, которое должно быть выполнено при выборе этого элемента меню кликом мыши. -
setDescription()
- устанавливает строковое описание элемента меню, отображаемое в виде всплывающей подсказки. -
setIconFromSet()
- устанавливает значок элемента меню. -
getId()
- возвращает идентификатор элемента меню. -
getMenu()
- возвращает родительский экземплярAppMenu
. -
setStylename()
- устанавливает один или более пользовательских стилей для компонента, заменяя все ранее заданные стили. Имена стилей при перечислении отделаются пробелами. Имя стиля должно быть названием существующего CSS-класса. -
hasChildren()
- возвращаетtrue
, если у элемента меню есть дочерние элементы. -
isSeparator()
- возвращаетtrue
, если элемент является разделителем. -
setVisible()
- управляет видимостью элемента меню.
- API