com.vaadin.ui.
Class MenuBar
java.lang.Object
com.vaadin.ui.AbstractComponent
com.vaadin.ui.MenuBar
All Implemented Interfaces:
MethodEventSource, Paintable, Sizeable, VariableOwner, Component, Serializable, EventListener
- extends AbstractComponent
public class MenuBar
A class representing a horizontal menu bar. The menu can contain MenuItem objects, which in turn can contain more MenuBars. These sub-level MenuBars are represented as vertical menu.
See Also:
Nested Class Summary | |
---|---|
static interface |
MenuBar.Command
This interface contains the layer for menu commands of the MenuBar class. |
class |
MenuBar.MenuItem
A composite class for menu items and sub-menus. |
Nested classes/interfaces inherited from class com.vaadin.ui.AbstractComponent |
---|
AbstractComponent.ComponentErrorEvent, AbstractComponent.ComponentErrorHandler |
Nested classes/interfaces inherited from interface com.vaadin.ui.Component |
---|
Component.ErrorEvent, Component.ErrorListener, Component.Event, Component.Focusable, Component.Listener |
Nested classes/interfaces inherited from interface com.vaadin.terminal.Paintable |
---|
Paintable.RepaintRequestEvent, Paintable.RepaintRequestListener |
Field Summary |
---|
Fields inherited from interface com.vaadin.terminal.Sizeable |
---|
SIZE_UNDEFINED, UNIT_SYMBOLS, UNITS_CM, UNITS_EM, UNITS_EX, UNITS_INCH, UNITS_MM, UNITS_PERCENTAGE, UNITS_PICAS, UNITS_PIXELS, UNITS_POINTS |
Constructor Summary | |
---|---|
MenuBar()
Constructs an empty, horizontal menu |
Method Summary | |
---|---|
MenuBar.MenuItem |
addItem(String caption,
MenuBar.Command command)
Add a new item to the menu bar. |
MenuBar.MenuItem |
addItem(String caption,
Resource icon,
MenuBar.Command command)
Add a new item to the menu bar. |
MenuBar.MenuItem |
addItemBefore(String caption,
Resource icon,
MenuBar.Command command,
MenuBar.MenuItem itemToAddBefore)
Add an item before some item. |
void |
changeVariables(Object source,
Map<String,Object> variables)
Deserialize changes received from client. |
boolean |
getCollapse()
Deprecated. |
List<MenuBar.MenuItem> |
getItems()
Returns a list with all the MenuItem objects in the menu bar |
MenuBar.MenuItem |
getMoreMenuItem()
Get the MenuItem used as the collapse menu item. |
int |
getSize()
Returns the size of the menu. |
Resource |
getSubmenuIcon()
Deprecated. |
boolean |
isAutoOpen()
Detects whether the menubar is in a mode where top level menus are automatically opened when the mouse cursor is moved over the menu. |
boolean |
isHtmlContentAllowed()
Checks whether item captions are interpreted as html or plain text. |
void |
paintContent(PaintTarget target)
Paint (serialise) the component for the client. |
void |
removeItem(MenuBar.MenuItem item)
Remove first occurrence the specified item from the main menu |
void |
removeItems()
Empty the menu bar |
void |
setAutoOpen(boolean autoOpenTopLevelMenu)
Using this method menubar can be put into a special mode where top level menus opens without clicking on the menu, but automatically when mouse cursor is moved over the menu. |
void |
setCollapse(boolean collapse)
Deprecated. (since 6.2, will be removed in 7.0) Collapsing is always enabled if the MenuBar has a specified width. |
void |
setHtmlContentAllowed(boolean htmlContentAllowed)
Sets whether html is allowed in the item captions. |
void |
setMoreMenuItem(MenuBar.MenuItem item)
Set the item that is used when collapsing the top level menu. |
void |
setSubmenuIcon(Resource icon)
Deprecated. (since 6.2, will be removed in 7.0) Icon is set in theme, no need to worry about the visual representation here. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
MenuBar
public MenuBar()
Constructs an empty, horizontal menu
Method Detail |
---|
paintContent
public void paintContent(PaintTarget target)
throws PaintException
- Overrides:
paintContent
in classAbstractComponent
- Parameters:
target
- the target UIDL stream where the component should paint itself to- Throws:
PaintException
- if the paint operation failed.
Paint (serialise) the component for the client.
changeVariables
public void changeVariables(Object source,
Map<String,Object> variables)
- Specified by:
changeVariables
in interfaceVariableOwner
- Overrides:
changeVariables
in classAbstractComponent
- Parameters:
source
- the Source of the variable change. This is the origin of the event. For example in Web Adapter this is the request.variables
- the Mapping from variable names to new variable values.
Deserialize changes received from client.
addItem
public MenuBar.MenuItem addItem(String caption,
MenuBar.Command command)
- Parameters:
caption
- the text for the menu itemcommand
- the command for the menu item- Throws:
IllegalArgumentException
Add a new item to the menu bar. Command can be null, but a caption must be given.
addItem
public MenuBar.MenuItem addItem(String caption,
Resource icon,
MenuBar.Command command)
- Parameters:
caption
- the text for the menu itemicon
- the icon for the menu itemcommand
- the command for the menu item- Throws:
IllegalArgumentException
Add a new item to the menu bar. Icon and command can be null, but a caption must be given.
addItemBefore
public MenuBar.MenuItem addItemBefore(String caption,
Resource icon,
MenuBar.Command command,
MenuBar.MenuItem itemToAddBefore)
- Parameters:
caption
- the text for the menu itemicon
- the icon for the menu itemcommand
- the command for the menu itemitemToAddBefore
- the item that will be after the new item- Throws:
IllegalArgumentException
Add an item before some item. If the given item does not exist the item is added at the end of the menu. Icon and command can be null, but a caption must be given.
getItems
public List<MenuBar.MenuItem> getItems()
- Returns:
- a list containing the MenuItem objects in the menu bar
Returns a list with all the MenuItem objects in the menu bar
removeItem
public void removeItem(MenuBar.MenuItem item)
- Parameters:
item
- The item to be removed
Remove first occurrence the specified item from the main menu
removeItems
public void removeItems()
Empty the menu bar
getSize
public int getSize()
- Returns:
- The size of the menu
Returns the size of the menu.
setSubmenuIcon
@Deprecated
public void setSubmenuIcon(Resource icon)
- Parameters:
icon
-
Deprecated. (since 6.2, will be removed in 7.0) Icon is set in theme, no need to worry about the visual representation here.
Set the icon to be used if a sub-menu has children. Defaults to null;
getSubmenuIcon
@Deprecated
public Resource getSubmenuIcon()
- See Also:
setSubmenuIcon(Resource)
Deprecated.
setCollapse
@Deprecated
public void setCollapse(boolean collapse)
- Parameters:
collapse
-
Deprecated. (since 6.2, will be removed in 7.0) Collapsing is always enabled if the MenuBar has a specified width.
Enable or disable collapsing top-level items. Top-level items will collapse together if there is not enough room for them. Items that don't fit will be placed under the "More" menu item. Collapsing is enabled by default.
getCollapse
@Deprecated
public boolean getCollapse()
- See Also:
setCollapse(boolean)
Deprecated.
setMoreMenuItem
public void setMoreMenuItem(MenuBar.MenuItem item)
- Parameters:
item
-
Set the item that is used when collapsing the top level menu. All "overflowing" items will be added below this. The item command will be ignored. If set to null, the default item with a downwards arrow is used. The item command (if specified) is ignored.
getMoreMenuItem
public MenuBar.MenuItem getMoreMenuItem()
- Returns:
Get the MenuItem used as the collapse menu item.
setAutoOpen
public void setAutoOpen(boolean autoOpenTopLevelMenu)
- Parameters:
autoOpenTopLevelMenu
- true if menus should be opened without click, the default is false
Using this method menubar can be put into a special mode where top level menus opens without clicking on the menu, but automatically when mouse cursor is moved over the menu. In this mode the menu also closes itself if the mouse is moved out of the opened menu.
Note, that on touch devices the menu still opens on a click event.
isAutoOpen
public boolean isAutoOpen()
- Returns:
- true if the root menus open without click, the default is false
Detects whether the menubar is in a mode where top level menus are automatically opened when the mouse cursor is moved over the menu. Normally root menu opens only by clicking on the menu. Submenus always open automatically.
setHtmlContentAllowed
public void setHtmlContentAllowed(boolean htmlContentAllowed)
- Parameters:
htmlContentAllowed
- true if the captions are used as html, false if used as plain text
Sets whether html is allowed in the item captions. If set to true, the captions are passed to the browser as html and the developer is responsible for ensuring no harmful html is used. If set to false, the content is passed to the browser as plain text.
isHtmlContentAllowed
public boolean isHtmlContentAllowed()
- Returns:
- true if the captions are used as html, false if used as plain text
- See Also:
setHtmlContentAllowed(boolean)
Checks whether item captions are interpreted as html or plain text.