Class MenuBar
- All Implemented Interfaces:
- HasAttachHandlers,- HasCloseHandlers<PopupPanel>,- HasHandlers,- EventListener,- HasAnimation,- HasVisibility,- IsWidget,- PopupListener,- EventListener
Scheduler.ScheduledCommand or
 open a cascaded menu bar.
 
  
 
CSS Style Rules
- .gwt-MenuBar
- the menu bar itself
- .gwt-MenuBar-horizontal
- dependent style applied to horizontal menu bars
- .gwt-MenuBar-vertical
- dependent style applied to vertical menu bars
- .gwt-MenuBar .gwt-MenuItem
- menu items
- .gwt-MenuBar .gwt-MenuItem-selected
- selected menu items
- .gwt-MenuBar .gwt-MenuItemSeparator
- section breaks between menu items
- .gwt-MenuBar .gwt-MenuItemSeparator .menuSeparatorInner
- inner component of section separators
- .gwt-MenuBarPopup .menuPopupTopLeft
- the top left cell
- .gwt-MenuBarPopup .menuPopupTopLeftInner
- the inner element of the cell
- .gwt-MenuBarPopup .menuPopupTopCenter
- the top center cell
- .gwt-MenuBarPopup .menuPopupTopCenterInner
- the inner element of the cell
- .gwt-MenuBarPopup .menuPopupTopRight
- the top right cell
- .gwt-MenuBarPopup .menuPopupTopRightInner
- the inner element of the cell
- .gwt-MenuBarPopup .menuPopupMiddleLeft
- the middle left cell
- .gwt-MenuBarPopup .menuPopupMiddleLeftInner
- the inner element of the cell
- .gwt-MenuBarPopup .menuPopupMiddleCenter
- the middle center cell
- .gwt-MenuBarPopup .menuPopupMiddleCenterInner
- the inner element of the cell
- .gwt-MenuBarPopup .menuPopupMiddleRight
- the middle right cell
- .gwt-MenuBarPopup .menuPopupMiddleRightInner
- the inner element of the cell
- .gwt-MenuBarPopup .menuPopupBottomLeft
- the bottom left cell
- .gwt-MenuBarPopup .menuPopupBottomLeftInner
- the inner element of the cell
- .gwt-MenuBarPopup .menuPopupBottomCenter
- the bottom center cell
- .gwt-MenuBarPopup .menuPopupBottomCenterInner
- the inner element of the cell
- .gwt-MenuBarPopup .menuPopupBottomRight
- the bottom right cell
- .gwt-MenuBarPopup .menuPopupBottomRightInner
- the inner element of the cell
Example
public class MenuBarExample implements EntryPoint {
  public void onModuleLoad() {
    // Make a command that we will execute from all leaves.
    Command cmd = new Command() {
      public void execute() {
        Window.alert("You selected a menu item!");
      }
    };
    // Make some sub-menus that we will cascade from the top menu.
    MenuBar fooMenu = new MenuBar(true);
    fooMenu.addItem("the", cmd);
    fooMenu.addItem("foo", cmd);
    fooMenu.addItem("menu", cmd);
    MenuBar barMenu = new MenuBar(true);
    barMenu.addItem("the", cmd);
    barMenu.addItem("bar", cmd);
    barMenu.addItem("menu", cmd);
    MenuBar bazMenu = new MenuBar(true);
    bazMenu.addItem("the", cmd);
    bazMenu.addItem("baz", cmd);
    bazMenu.addItem("menu", cmd);
    // Make a new menu bar, adding a few cascading menus to it.
    MenuBar menu = new MenuBar();
    menu.addItem("foo", fooMenu);
    menu.addItem("bar", barMenu);
    menu.addItem("baz", bazMenu);
    // Add it to the root panel.
    RootPanel.get().add(menu);
  }
}
Use in UiBinder Templates
 MenuBar elements in UiBinder template files can have a vertical
 boolean attribute (which defaults to false), and may have only MenuItem
 elements as children. MenuItems may contain HTML and MenuBars.
 
For example:
 <g:MenuBar>
   <g:MenuItem>Higgledy
     <g:MenuBar vertical="true">
       <g:MenuItem>able</g:MenuItem>
       <g:MenuItem>baker</g:MenuItem>
       <g:MenuItem>charlie</g:MenuItem>
     </g:MenuBar>
   </g:MenuItem>
   <g:MenuItem>Piggledy
     <g:MenuBar vertical="true">
       <g:MenuItem>foo</g:MenuItem>
       <g:MenuItem>bar</g:MenuItem>
       <g:MenuItem>baz</g:MenuItem>
     </g:MenuBar>
   </g:MenuItem>
   <g:MenuItem><b>Pop!</b>
     <g:MenuBar vertical="true">
       <g:MenuItem>uno</g:MenuItem>
       <g:MenuItem>dos</g:MenuItem>
       <g:MenuItem>tres</g:MenuItem>
     </g:MenuBar>
   </g:MenuItem>
 </g:MenuBar>
 - 
Nested Class SummaryNested ClassesModifier and TypeClassDescriptionstatic interfaceDeprecated.static interfaceA ClientBundle that contains the default resources for this widget.Nested classes/interfaces inherited from class com.google.gwt.user.client.ui.UIObjectUIObject.DebugIdImpl, UIObject.DebugIdImplEnabled
- 
Field SummaryFields inherited from class com.google.gwt.user.client.ui.WidgeteventsToSinkFields inherited from class com.google.gwt.user.client.ui.UIObjectDEBUG_ID_PREFIX, MISSING_ELEMENT_ERROR, SETELEMENT_TWICE_ERROR
- 
Constructor SummaryConstructorsConstructorDescriptionMenuBar()Creates an empty horizontal menu bar.MenuBar(boolean vertical) Creates an empty menu bar.MenuBar(boolean vertical, MenuBar.MenuBarImages images) Deprecated.replaced byMenuBar(boolean, Resources)MenuBar(boolean vertical, MenuBar.Resources resources) Creates an empty menu bar that uses the specified ClientBundle for menu images.MenuBar(MenuBar.MenuBarImages images) Deprecated.replaced byMenuBar(Resources)MenuBar(MenuBar.Resources resources) Creates an empty horizontal menu bar that uses the specified ClientBundle for menu images.
- 
Method SummaryModifier and TypeMethodDescriptionaddCloseHandler(CloseHandler<PopupPanel> handler) Adds aCloseEventhandler.addItem(SafeHtml html, Scheduler.ScheduledCommand cmd) Adds a menu item to the bar containing SafeHtml, that will fire the given command when it is selected.Adds a menu item to the bar, that will open the specified menu when it is selected.Adds a menu item to the bar.addItem(String text, boolean asHTML, Scheduler.ScheduledCommand cmd) Adds a menu item to the bar, that will fire the given command when it is selected.Adds a menu item to the bar, that will open the specified menu when it is selected.addItem(String text, Scheduler.ScheduledCommand cmd) Adds a menu item to the bar, that will fire the given command when it is selected.Adds a menu item to the bar, that will open the specified menu when it is selected.addSeparator(MenuItemSeparator separator) voidRemoves all menu items from this menu bar.voidcloseAllChildren(boolean focus) Closes this menu and all child menu popups.(package private) void(package private) voidCloses all parent and child menu popups.(package private) voiddoItemAction(MenuItem item, boolean fireCommand, boolean focus) voidfocus()Give this MenuBar focus.booleanGets whether this menu bar's child menus will open when the mouse is moved over it.intgetItemIndex(MenuItem item) Get the index of aMenuItem.getItems()Returns a list containing theMenuItemobjects in the menu bar.(package private) PopupPanelgetPopup()Visible for testing.protected MenuItemReturns theMenuItemthat is currently selected (highlighted) by the user.intGet the index of aMenuItemSeparator.insertItem(MenuItem item, int beforeIndex) Adds a menu item to the bar at a specific index.insertSeparator(int beforeIndex) insertSeparator(MenuItemSeparator separator, int beforeIndex) booleanReturns true if animations are enabled, false if not.booleanCheck whether or not this widget will steal keyboard focus when the mouse hovers over it.(package private) voidvoidMoves the menu selection down to the next item.voidMoves the menu selection up to the previous item.voidonBrowserEvent(Event event) Fired whenever a browser event is received.protected voidonDetach()This method is called when a widget is detached from the browser's document.protected voidonEnsureDebugId(String baseID) Affected Elements: -item# = theMenuItemat the specified index.voidonPopupClosed(PopupPanel sender, boolean autoClosed) Deprecated.UseaddCloseHandler(CloseHandler)insteadvoidremoveItem(MenuItem item) Removes the specified menu item from the bar.voidremoveSeparator(MenuItemSeparator separator) Removes the specifiedMenuItemSeparatorfrom the bar.voidselectItem(MenuItem item) Select the given MenuItem, which must be a direct child of this MenuBar.voidsetAnimationEnabled(boolean enable) Enable or disable animations.voidsetAutoOpen(boolean autoOpen) Sets whether this menu bar's child menus will open when the mouse is moved over it.voidsetFocusOnHoverEnabled(boolean enabled) Enable or disable auto focus when the mouse hovers over the MenuBar.(package private) voidsetMenuItemDebugIds(String baseID) Set the IDs of the menu items.(package private) voidupdateSubmenuIcon(MenuItem item) Show or hide the icon used for items with a submenu.Methods inherited from class com.google.gwt.user.client.ui.WidgetaddAttachHandler, addBitlessDomHandler, addDomHandler, addHandler, asWidget, asWidgetOrNull, createHandlerManager, delegateEvent, doAttachChildren, doDetachChildren, ensureHandlers, fireEvent, getHandlerCount, getHandlerManager, getLayoutData, getParent, isAttached, isOrWasAttached, onAttach, onLoad, onUnload, removeFromParent, replaceElement, setLayoutData, setParent, sinkEvents, unsinkEventsMethods inherited from class com.google.gwt.user.client.ui.UIObjectaddStyleDependentName, addStyleName, ensureDebugId, ensureDebugId, ensureDebugId, getAbsoluteLeft, getAbsoluteTop, getElement, getOffsetHeight, getOffsetWidth, getStyleElement, getStyleName, getStyleName, getStylePrimaryName, getStylePrimaryName, getTitle, isVisible, isVisible, removeStyleDependentName, removeStyleName, resolvePotentialElement, setElement, setElement, setHeight, setPixelSize, setSize, setStyleDependentName, setStyleName, setStyleName, setStyleName, setStyleName, setStylePrimaryName, setStylePrimaryName, setTitle, setVisible, setVisible, setWidth, sinkBitlessEvent, toStringMethods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface com.google.gwt.event.shared.HasHandlersfireEvent
- 
Constructor Details- 
MenuBarpublic MenuBar()Creates an empty horizontal menu bar.
- 
MenuBarpublic MenuBar(boolean vertical) Creates an empty menu bar.- Parameters:
- vertical-- trueto orient the menu bar vertically
 
- 
MenuBarDeprecated.replaced byMenuBar(boolean, Resources)Creates an empty menu bar that uses the specified image bundle for menu images.- Parameters:
- vertical-- trueto orient the menu bar vertically
- images- a bundle that provides images for this menu
 
- 
MenuBarCreates an empty menu bar that uses the specified ClientBundle for menu images.- Parameters:
- vertical-- trueto orient the menu bar vertically
- resources- a bundle that provides images for this menu
 
- 
MenuBarDeprecated.replaced byMenuBar(Resources)Creates an empty horizontal menu bar that uses the specified image bundle for menu images.- Parameters:
- images- a bundle that provides images for this menu
 
- 
MenuBarCreates an empty horizontal menu bar that uses the specified ClientBundle for menu images.- Parameters:
- resources- a bundle that provides images for this menu
 
 
- 
- 
Method Details
- 
addItemAdds a menu item to the bar.- Parameters:
- item- the item to be added
- Returns:
- the MenuItemobject
 
- 
addItemAdds a menu item to the bar, that will fire the given command when it is selected.- Parameters:
- text- the item's text
- asHTML-- trueto treat the specified text as html
- cmd- the command to be fired
- Returns:
- the MenuItemobject created
 
- 
addItemAdds a menu item to the bar, that will open the specified menu when it is selected.- Parameters:
- text- the item's text
- asHTML-- trueto treat the specified text as html
- popup- the menu to be cascaded from it
- Returns:
- the MenuItemobject created
 
- 
addItemAdds a menu item to the bar, that will fire the given command when it is selected.- Parameters:
- text- the item's text
- cmd- the command to be fired
- Returns:
- the MenuItemobject created
 
- 
addItemAdds a menu item to the bar, that will open the specified menu when it is selected.- Parameters:
- text- the item's text
- popup- the menu to be cascaded from it
- Returns:
- the MenuItemobject created
 
- 
addSeparator- Returns:
- the MenuItemSeparatorobject created
 
- 
addSeparator- Parameters:
- separator- the- MenuItemSeparatorto be added
- Returns:
- the MenuItemSeparatorobject
 
- 
clearItemspublic void clearItems()Removes all menu items from this menu bar.
- 
closeAllChildrenpublic void closeAllChildren(boolean focus) Closes this menu and all child menu popups.- Parameters:
- focus- true to move focus to the parent
 
- 
focuspublic void focus()Give this MenuBar focus.
- 
getAutoOpenpublic boolean getAutoOpen()Gets whether this menu bar's child menus will open when the mouse is moved over it.- Returns:
- trueif child menus will auto-open
 
- 
getItemIndexGet the index of aMenuItem.- Returns:
- the index of the item, or -1 if it is not contained by this MenuBar
 
- 
getSeparatorIndexGet the index of aMenuItemSeparator.- Returns:
- the index of the separator, or -1 if it is not contained by this MenuBar
 
- 
insertItemAdds a menu item to the bar at a specific index.- Parameters:
- item- the item to be inserted
- beforeIndex- the index where the item should be inserted
- Returns:
- the MenuItemobject
- Throws:
- IndexOutOfBoundsException- if- beforeIndexis out of range
 
- 
insertSeparator- Parameters:
- beforeIndex- the index where the separator should be inserted
- Returns:
- the MenuItemSeparatorobject
- Throws:
- IndexOutOfBoundsException- if- beforeIndexis out of range
 
- 
insertSeparatorpublic MenuItemSeparator insertSeparator(MenuItemSeparator separator, int beforeIndex) throws IndexOutOfBoundsException - Parameters:
- separator- the- MenuItemSeparatorto be inserted
- beforeIndex- the index where the separator should be inserted
- Returns:
- the MenuItemSeparatorobject
- Throws:
- IndexOutOfBoundsException- if- beforeIndexis out of range
 
- 
isAnimationEnabledpublic boolean isAnimationEnabled()Description copied from interface:HasAnimationReturns true if animations are enabled, false if not.- Specified by:
- isAnimationEnabledin interface- HasAnimation
 
- 
isFocusOnHoverEnabledpublic boolean isFocusOnHoverEnabled()Check whether or not this widget will steal keyboard focus when the mouse hovers over it.- Returns:
- true if enabled, false if disabled
 
- 
moveSelectionDownpublic void moveSelectionDown()Moves the menu selection down to the next item. If there is no selection, selects the first item. If there are no items at all, does nothing.
- 
moveSelectionUppublic void moveSelectionUp()Moves the menu selection up to the previous item. If there is no selection, selects the first item. If there are no items at all, does nothing.
- 
onBrowserEventDescription copied from interface:EventListenerFired whenever a browser event is received.- Specified by:
- onBrowserEventin interface- EventListener
- Overrides:
- onBrowserEventin class- Widget
- Parameters:
- event- the event received
 
- 
onPopupClosedDeprecated.UseaddCloseHandler(CloseHandler)insteadCloses the menu bar.- Specified by:
- onPopupClosedin interface- PopupListener
- Parameters:
- sender- popup being closed.
- autoClosed-- trueif the popup was automatically closed;- falseif it was closed programmatically.
 
- 
removeItemRemoves the specified menu item from the bar.- Parameters:
- item- the item to be removed
 
- 
removeSeparatorRemoves the specifiedMenuItemSeparatorfrom the bar.- Parameters:
- separator- the separator to be removed
 
- 
selectItemSelect the given MenuItem, which must be a direct child of this MenuBar.- Parameters:
- item- the MenuItem to select, or null to clear selection
 
- 
setAnimationEnabledpublic void setAnimationEnabled(boolean enable) Description copied from interface:HasAnimationEnable or disable animations.- Specified by:
- setAnimationEnabledin interface- HasAnimation
- Parameters:
- enable- true to enable, false to disable
 
- 
setAutoOpenpublic void setAutoOpen(boolean autoOpen) Sets whether this menu bar's child menus will open when the mouse is moved over it.- Parameters:
- autoOpen-- trueto cause child menus to auto-open
 
- 
setFocusOnHoverEnabledpublic void setFocusOnHoverEnabled(boolean enabled) Enable or disable auto focus when the mouse hovers over the MenuBar. This allows the MenuBar to respond to keyboard events without the user having to click on it, but it will steal focus from other elements on the page. Enabled by default.- Parameters:
- enabled- true to enable, false to disable
 
- 
getItemsReturns a list containing theMenuItemobjects in the menu bar. If there are no items in the menu bar, then an emptyListobject will be returned.- Returns:
- a list containing the MenuItemobjects in the menu bar
 
- 
getSelectedItemReturns theMenuItemthat is currently selected (highlighted) by the user. If none of the items in the menu are currently selected, thennullwill be returned.- Returns:
- the MenuItemthat is currently selected, ornullif no items are currently selected
 
- 
onDetachprotected void onDetach()Description copied from class:WidgetThis method is called when a widget is detached from the browser's document. To receive notification before a Widget is removed from the document, override the Widget.onUnload()method or useWidget.addAttachHandler(com.google.gwt.event.logical.shared.AttachEvent.Handler).It is strongly recommended that you override Widget.onUnload()orWidget.doDetachChildren()instead of this method to avoid inconsistencies between logical and physical attachment states.Subclasses that override this method must call super.onDetach()to ensure that the Widget has been detached from the underlying Element. Failure to do so will result in application memory leaks due to circular references between DOM Elements and JavaScript objects.
- 
onEnsureDebugIdAffected Elements:- -item# = the MenuItemat the specified index.
 - Overrides:
- onEnsureDebugIdin class- UIObject
- Parameters:
- baseID- the base ID used by the main element
- See Also:
 
- -item# = the 
- 
closeAllParentsvoid closeAllParents()
- 
closeAllParentsAndChildrenvoid closeAllParentsAndChildren()Closes all parent and child menu popups.
- 
doItemAction
- 
getPopupPopupPanel getPopup()Visible for testing.
- 
itemOver
- 
setMenuItemDebugIdsSet the IDs of the menu items.- Parameters:
- baseID- the base ID
 
 
MenuBar.Resources