Apache Flex 4.16.0 API Reference | All Packages | All Classes | Index | Frames No Frames |
MenuBar

Package | mx.controls
Class | public class MenuBar
Inheritance | MenuBar UIComponent FlexSprite flash.display.Sprite
Implements | IFocusManagerComponent

Language Version : | ActionScript 3.0

Product Version : | Flex 3

Runtime Versions : | Flash Player 9, AIR 1.1

A MenuBar control defines a horizontal, top-level menu bar that contains one or more menus. Clicking on a top-level menu item opens a pop-up submenu that is an instance of the Menu control.

The top-level menu bar of the MenuBar control is generally always visible. It is not intended for use as a pop-up menu. The individual submenus pop up as the user selects them with the mouse or keyboard. Open submenus disappear when a menu item is selected, or if the menu is dismissed by the user clicking outside the menu.

For information and an example on the attributes that you can use in the data provider for the MenuBar control, see the Menu control.

The MenuBar control has the following sizing characteristics:

Characteristic | Description
--- | ---
Default size | The width is determined from the menu text, with a minimum value of 27 pixels for the width. The default value for the height is 22 pixels.

MXML Syntax Show MXML Syntax
Hide MXML Syntax

The `<mx:MenuBar>` tag inherits all of the tag attributes of its superclass, and adds the following tag attributes:

      <mx:MenuBar
        Properties
        dataDescriptor="mx.controls.treeClasses.DefaultDataDescriptor"
        dataProvider="undefined"
        iconField="icon"
        labelField="label"
        labelFunction="undefined"
        menuBarItemRenderer="mx.controls.menuClasses.MenuBarItem"
        menuBarItems="[]"
        menus="[]"
        selectedIndex="-1"
        showRoot="true"

        Styles
        backgroundSkin="mx.skins.halo.MenuBarBackgroundSkin"
        borderColor="0xAAB3B3"
        color="0x0B333C"
        cornerRadius="0"
        disabledColor="0xAAB3B3"
        fillAlphas="[0.6,0.4]"
        fillColors="[0xFFFFFF, 0xCCCCCC]"
        focusAlpha="0.5"
        focusRoundedCorners="tl tr bl br"
        fontAntiAliasType="advanced|normal"
        fontFamily="Verdana"
        fontGridFitType="pixel|none|subpixel"
        fontSharpness="0"
        fontSize="10"
        fontStyle="normal|italic"
        fontThickness="0"
        fontWeight="normal|bold"
        highlightAlphas="[0.3,0.0]"
        itemDownSkin="mx.skins.halo.ActivatorSkin"
        itemOverSkin="mx.skins.halo.ActivatorSkin"
        itemUpSkin="mx.skins.halo.ActivatorSkin"
        leading="2"
        menuStyleName="No default"
        rollOverColor="0xB2E1FF"
        selectionColor="0x7FCEFF"
        textAlign="left"
        textDecoration="none"
        textIndent="0"

        Events
        itemClick="No default"
        itemRollOut="No default"
        itemRollOver="No default"
        menuHide="No default"
        menuShow="No default"
      />

Default MXML Property `dataProvider`

View the examples

See also

mx.controls.Menu
mx.controls.PopUpMenuButton
mx.controls.menuClasses.IMenuBarItemRenderer
mx.controls.menuClasses.MenuBarItem
mx.controls.menuClasses.IMenuDataDescriptor
mx.controls.treeClasses.DefaultDataDescriptor

Public Properties
Hide Inherited Public Properties
Show Inherited Public Properties

| Property | Defined By
--- | --- | ---
|  | accessibilityDescription : String A convenience accessor for the description property in this UIComponent's accessibilityProperties object. | UIComponent
|  | accessibilityEnabled : Boolean A convenience accessor for the silent property in this UIComponent's accessibilityProperties object. | UIComponent
|  | accessibilityName : String A convenience accessor for the name property in this UIComponent's accessibilityProperties object. | UIComponent
|  | accessibilityShortcut : String A convenience accessor for the shortcut property in this UIComponent's accessibilityProperties object. | UIComponent
|  | activeEffects : Array [read-only] The list of effects that are currently playing on the component, as an Array of EffectInstance instances. | UIComponent
|  | automationDelegate : Object The delegate object that handles the automation-related functionality. | UIComponent
|  | automationEnabled : Boolean [read-only] True if this component is enabled for automation, false otherwise. | UIComponent
|  | automationName : String Name that can be used as an identifier for this object. | UIComponent
|  | automationOwner : DisplayObjectContainer [read-only] The owner of this component for automation purposes. | UIComponent
|  | automationParent : DisplayObjectContainer [read-only] The parent of this component for automation purposes. | UIComponent
|  | automationTabularData : Object [read-only] An implementation of the IAutomationTabularData interface, which can be used to retrieve the data. | UIComponent
|  | automationValue : Array [read-only] This value generally corresponds to the rendered appearance of the object and should be usable for correlating the identifier with the object as it appears visually within the application. | UIComponent
|  | automationVisible : Boolean [read-only] True if this component is visible for automation, false otherwise. | UIComponent
|  | baseline : Object For components, this layout constraint property is a facade on top of the similarly-named style. | UIComponent
|  | baselinePosition : Number [read-only] The y-coordinate of the baseline of the first line of text of the component. | UIComponent
|  | bottom : Object For components, this layout constraint property is a facade on top of the similarly-named style. | UIComponent
|  | cacheHeuristic : Boolean [write-only] Used by Flex to suggest bitmap caching for the object. | UIComponent
|  | cachePolicy : String Specifies the bitmap caching policy for this object. | UIComponent
|  | className : String [read-only] The name of this instance's class, such as "Button". | UIComponent
|  | contentMouseX : Number [read-only] Returns the x position of the mouse, in the content coordinate system. | UIComponent
|  | contentMouseY : Number [read-only] Returns the y position of the mouse, in the content coordinate system. | UIComponent
|  | currentState : String The current view state of the component. | UIComponent
|  | cursorManager : ICursorManager [read-only] Gets the CursorManager that controls the cursor for this component and its peers. | UIComponent
|  | dataDescriptor : IMenuDataDescriptor The object that accesses and manipulates data in the data provider. | MenuBar
|  | dataProvider : Object The hierarchy of objects that are displayed as MenuBar items and menus. | MenuBar
|  | depth : Number Determines the order in which items inside of containers are rendered. | UIComponent
|  | descriptor : UIComponentDescriptor Reference to the UIComponentDescriptor, if any, that was used by the createComponentFromDescriptor() method to create this UIComponent instance. | UIComponent
|  | designLayer : DesignLayer Specifies the optional DesignLayer instance associated with this visual element. | UIComponent
|  | document : Object A reference to the document object associated with this UIComponent. | UIComponent
|  | doubleClickEnabled : Boolean [override] Specifies whether the UIComponent object receives doubleClick events. | UIComponent
|  | enabled : Boolean Whether the component can accept user interaction. | UIComponent
|  | errorString : String The text that displayed by a component's error tip when a component is monitored by a Validator and validation fails. | UIComponent
|  | explicitHeight : Number Number that specifies the explicit height of the component, in pixels, in the component's coordinates. | UIComponent
|  | explicitMaxHeight : Number The maximum recommended height of the component to be considered by the parent during layout. | UIComponent
|  | explicitMaxWidth : Number The maximum recommended width of the component to be considered by the parent during layout. | UIComponent
|  | explicitMinHeight : Number The minimum recommended height of the component to be considered by the parent during layout. | UIComponent
|  | explicitMinWidth : Number The minimum recommended width of the component to be considered by the parent during layout. | UIComponent
|  | explicitWidth : Number Number that specifies the explicit width of the component, in pixels, in the component's coordinates. | UIComponent
|  | flexContextMenu : IFlexContextMenu The context menu for this UIComponent. | UIComponent
|  | focusEnabled : Boolean Indicates whether the component can receive focus when tabbed to. | UIComponent
|  | focusManager : IFocusManager Gets the FocusManager that controls focus for this component and its peers. | UIComponent
|  | focusPane : Sprite The focus pane associated with this object. | UIComponent
|  | hasFocusableChildren : Boolean A flag that indicates whether child objects can receive focus. | UIComponent
|  | hasLayoutMatrix3D : Boolean [read-only] Contains true if the element has 3D Matrix. | UIComponent
|  | hasRoot : Boolean [read-only] A flag that indicates that the current data provider has a root node; for example, a single top node in a hierarchical structure. | MenuBar
|  | height : Number [override] Number that specifies the height of the component, in pixels, in the parent's coordinates. | UIComponent
|  | horizontalCenter : Object For components, this layout constraint property is a facade on top of the similarly-named style. | UIComponent
|  | iconField : String The name of the field in the data provider that determines the icon to display for each menu item. | MenuBar
|  | id : String ID of the component. | UIComponent
|  | includeInLayout : Boolean Specifies whether this component is included in the layout of the parent container. | UIComponent
|  | inheritingStyles : Object The beginning of this component's chain of inheriting styles. | UIComponent
|  | initialized : Boolean A flag that determines if an object has been through all three phases of layout: commitment, measurement, and layout (provided that any were required). | UIComponent
|  | instanceIndex : int [read-only] The index of a repeated component. | UIComponent
|  | instanceIndices : Array An Array containing the indices required to reference this UIComponent object from its parent document. | UIComponent
|  | is3D : Boolean [read-only] Contains true when the element is in 3D. | UIComponent
|  | isDocument : Boolean [read-only] Contains true if this UIComponent instance is a document object. | UIComponent
|  | isPopUp : Boolean Set to true by the PopUpManager to indicate that component has been popped up. | UIComponent
|  | labelField : String The name of the field in the data provider that determines the text to display for each menu item. | MenuBar
|  | labelFunction : Function The function that determines the text to display for each menu item. | MenuBar
|  | layoutMatrix3D : Matrix3D [write-only] The transform matrix that is used to calculate a component's layout relative to its siblings. | UIComponent
|  | left : Object For components, this layout constraint property is a facade on top of the similarly-named style. | UIComponent
|  | maintainProjectionCenter : Boolean When true, the component keeps its projection matrix centered on the middle of its bounding box. | UIComponent
|  | maxHeight : Number The maximum recommended height of the component to be considered by the parent during layout. | UIComponent
|  | maxWidth : Number The maximum recommended width of the component to be considered by the parent during layout. | UIComponent
|  | measuredHeight : Number The default height of the component, in pixels. | UIComponent
|  | measuredMinHeight : Number The default minimum height of the component, in pixels. | UIComponent
|  | measuredMinWidth : Number The default minimum width of the component, in pixels. | UIComponent
|  | measuredWidth : Number The default width of the component, in pixels. | UIComponent
|  | menuBarItemRenderer : IFactory The item renderer used by the MenuBar control for the top-level menu bar of the MenuBar control. | MenuBar
|  | menuBarItems : Array An Array that contains the MenuBarItem objects that render each item in the top-level menu bar of a MenuBar control. | MenuBar
|  | menus : Array An Array containing the Menu objects corresponding to the pop-up submenus of this MenuBar control. | MenuBar
|  | minHeight : Number The minimum recommended height of the component to be considered by the parent during layout. | UIComponent
|  | minWidth : Number The minimum recommended width of the component to be considered by the parent during layout. | UIComponent
|  | moduleFactory : IFlexModuleFactory A module factory is used as context for using embedded fonts and for finding the style manager that controls the styles for this component. | UIComponent
|  | mouseFocusEnabled : Boolean Whether you can receive focus when clicked on. | UIComponent
|  | MXMLDescriptor : Array [read-only] | UIComponent
|  | MXMLProperties : Array [read-only] | UIComponent
|  | nestLevel : int Depth of this object in the containment hierarchy. | UIComponent
|  | nonInheritingStyles : Object The beginning of this component's chain of non-inheriting styles. | UIComponent
|  | numAutomationChildren : int [read-only] The number of automation children this container has. | UIComponent
|  | owner : DisplayObjectContainer The owner of this IVisualElement object. | UIComponent
|  | parent : DisplayObjectContainer [override] [read-only] The parent container or component for this component. | UIComponent
|  | parentApplication : Object [read-only] A reference to the Application object that contains this UIComponent instance. | UIComponent
|  | parentDocument : Object [read-only] A reference to the parent document object for this UIComponent. | UIComponent
|  | percentHeight : Number Specifies the height of a component as a percentage of its parent's size. | UIComponent
|  | percentWidth : Number Specifies the width of a component as a percentage of its parent's size. | UIComponent
|  | postLayoutTransformOffsets : TransformOffsets Defines a set of adjustments that can be applied to the object's transform in a way that is invisible to its parent's layout. | UIComponent
|  | processedDescriptors : Boolean Set to true after immediate or deferred child creation, depending on which one happens. | UIComponent
|  | repeater : IRepeater [read-only] A reference to the Repeater object in the parent document that produced this UIComponent. | UIComponent
|  | repeaterIndex : int [read-only] The index of the item in the data provider of the Repeater that produced this UIComponent. | UIComponent
|  | repeaterIndices : Array An Array containing the indices of the items in the data provider of the Repeaters in the parent document that produced this UIComponent. | UIComponent
|  | repeaters : Array An Array containing references to the Repeater objects in the parent document that produced this UIComponent. | UIComponent
|  | right : Object For components, this layout constraint property is a facade on top of the similarly-named style. | UIComponent
|  | rotation : Number [override] | UIComponent
|  | rotationX : Number [override] Indicates the x-axis rotation of the DisplayObject instance, in degrees, from its original orientation relative to the 3D parent container. | UIComponent
|  | rotationY : Number [override] Indicates the y-axis rotation of the DisplayObject instance, in degrees, from its original orientation relative to the 3D parent container. | UIComponent
|  | rotationZ : Number [override] | UIComponent
|  | scaleX : Number [override] Number that specifies the horizontal scaling factor. | UIComponent
|  | scaleY : Number [override] Number that specifies the vertical scaling factor. | UIComponent
|  | scaleZ : Number [override] Number that specifies the scaling factor along the z axis. | UIComponent
|  | screen : Rectangle [read-only] Returns an object that contains the size and position of the base drawing surface for this object. | UIComponent
|  | selectedIndex : int The index in the MenuBar control of the currently open Menu or the last opened Menu if none are currently open. | MenuBar
|  | showInAutomationHierarchy : Boolean A flag that determines if an automation object shows in the automation hierarchy. | UIComponent
|  | showRoot : Boolean A Boolean flag that specifies whether to display the data provider's root node. | MenuBar
|  | states : Array The view states that are defined for this component. | UIComponent
|  | styleDeclaration : CSSStyleDeclaration Storage for the inline inheriting styles on this object. | UIComponent
|  | styleManager : IStyleManager2 [read-only] Returns the StyleManager instance used by this component. | UIComponent
|  | styleName : Object The class style used by this component. | UIComponent
|  | styleParent : IAdvancedStyleClient A component's parent is used to evaluate descendant selectors. | UIComponent
|  | systemManager : ISystemManager Returns the SystemManager object used by this component. | UIComponent
|  | tabFocusEnabled : Boolean A flag that indicates whether this object can receive focus via the TAB key This is similar to the tabEnabled property used by the Flash Player. This is usually true for components that handle keyboard input, but some components in controlbars have them set to false because they should not steal focus from another component like an editor. | UIComponent
|  | toolTip : String Text to display in the ToolTip. | UIComponent
|  | top : Object For components, this layout constraint property is a facade on top of the similarly-named style. | UIComponent
|  | transform : Transform [override] An object with properties pertaining to a display object's matrix, color transform, and pixel bounds. | UIComponent
|  | transformX : Number Sets the x coordinate for the transform center of the component. | UIComponent
|  | transformY : Number Sets the y coordinate for the transform center of the component. | UIComponent
|  | transformZ : Number Sets the z coordinate for the transform center of the component. | UIComponent
|  | transitions : Array An Array of Transition objects, where each Transition object defines a set of effects to play when a view state change occurs. | UIComponent
|  | tweeningProperties : Array Array of properties that are currently being tweened on this object. | UIComponent
|  | uid : String A unique identifier for the object. | UIComponent
|  | updateCompletePendingFlag : Boolean A flag that determines if an object has been through all three phases of layout validation (provided that any were required). | UIComponent
|  | validationSubField : String Used by a validator to associate a subfield with this component. | UIComponent
|  | verticalCenter : Object For components, this layout constraint property is a facade on top of the similarly-named style. | UIComponent
|  | visible : Boolean [override] Whether or not the display object is visible. | UIComponent
|  | width : Number [override] Number that specifies the width of the component, in pixels, in the parent's coordinates. | UIComponent
|  | x : Number [override] Number that specifies the component's horizontal position, in pixels, within its parent container. | UIComponent
|  | y : Number [override] Number that specifies the component's vertical position, in pixels, within its parent container. | UIComponent
|  | z : Number [override] | UIComponent

Protected Properties
Hide Inherited Protected Properties
Show Inherited Protected Properties

| Property | Defined By
--- | --- | ---
|  | currentCSSState : String [read-only] The state to be used when matching CSS pseudo-selectors. | UIComponent
|  | hasComplexLayoutMatrix : Boolean [read-only] Returns true if the UIComponent has any non-translation (x,y) transform properties. | UIComponent
|  | menuBarItemStyleFilters : Object [read-only] The set of styles to pass from the MenuBar to the menuBar items. | MenuBar
|  | resourceManager : IResourceManager [read-only] A reference to the object which manages all of the application's localized resources. | UIComponent
|  | unscaledHeight : Number [read-only] A convenience method for determining the unscaled height of the component. | UIComponent
|  | unscaledWidth : Number [read-only] A convenience method for determining the unscaled width of the component All of a component's drawing and child layout should be done within a bounding rectangle of this width, which is also passed as an argument to updateDisplayList(). | UIComponent

Public Methods
Hide Inherited Public Methods
Show Inherited Public Methods

| Method | Defined By
--- | --- | ---
|  | MenuBar() Constructor. | MenuBar
|  | addStyleClient(styleClient:IAdvancedStyleClient):void Adds a non-visual style client to this component instance. | UIComponent
|  | callLater(method:Function, args:Array = null):void Queues a function to be called later. | UIComponent
|  | clearStyle(styleProp:String):void Deletes a style property from this component instance. | UIComponent
|  | contentToGlobal(point:Point):Point Converts a Point object from content coordinates to global coordinates. | UIComponent
|  | contentToLocal(point:Point):Point Converts a Point object from content to local coordinates. | UIComponent
|  | createAutomationIDPart(child:IAutomationObject):Object Returns a set of properties that identify the child within this container. | UIComponent
|  | createAutomationIDPartWithRequiredProperties(child:IAutomationObject, properties:Array):Object Returns a set of properties as automation IDs that identify the child within this container. | UIComponent
|  | createReferenceOnParentDocument(parentDocument:IFlexDisplayObject):void Creates an id reference to this IUIComponent object on its parent document object. | UIComponent
|  | deleteReferenceOnParentDocument(parentDocument:IFlexDisplayObject):void Deletes the id reference to this IUIComponent object on its parent document object. | UIComponent
|  | determineTextFormatFromStyles():UITextFormat Returns a UITextFormat object corresponding to the text styles for this UIComponent. | UIComponent
|  | dispatchEvent(event:Event):Boolean [override] Dispatches an event into the event flow. | UIComponent
|  | drawFocus(isFocused:Boolean):void Shows or hides the focus indicator around this component. | UIComponent
|  | drawRoundRect(x:Number, y:Number, w:Number, h:Number, r:Object = null, c:Object = null, alpha:Object = null, rot:Object = null, gradient:String = null, ratios:Array = null, hole:Object = null):void Programmatically draws a rectangle into this skin's Graphics object. | UIComponent
|  | effectFinished(effectInst:IEffectInstance):void Called by the effect instance when it stops playing on the component. | UIComponent
|  | effectStarted(effectInst:IEffectInstance):void Called by the effect instance when it starts playing on the component. | UIComponent
|  | endEffectsStarted():void Ends all currently playing effects on the component. | UIComponent
|  | executeBindings(recurse:Boolean = false):void Executes all the bindings for which the UIComponent object is the destination. | UIComponent
|  | finishPrint(obj:Object, target:IFlexDisplayObject):void Called after printing is complete. | UIComponent
|  | generateMXMLArray(document:Object, data:Array, recursive:Boolean = true):Array | UIComponent
|  | generateMXMLVector(document:Object, data:Array, recursive:Boolean = true):* | UIComponent
|  | getAutomationChildAt(index:int):IAutomationObject Provides the automation object at the specified index. | UIComponent
|  | getAutomationChildren():Array Provides the automation object list . | UIComponent
|  | getBoundsXAtSize(width:Number, height:Number, postLayoutTransform:Boolean = true):Number Returns the x coordinate of the element's bounds at the specified element size. | UIComponent
|  | getBoundsYAtSize(width:Number, height:Number, postLayoutTransform:Boolean = true):Number Returns the y coordinate of the element's bounds at the specified element size. | UIComponent
|  | getClassStyleDeclarations():Array Finds the type selectors for this UIComponent instance. | UIComponent
|  | getConstraintValue(constraintName:String):* Returns a layout constraint value, which is the same as getting the constraint style for this component. | UIComponent
|  | getExplicitOrMeasuredHeight():Number A convenience method for determining whether to use the explicit or measured height | UIComponent
|  | getExplicitOrMeasuredWidth():Number A convenience method for determining whether to use the explicit or measured width | UIComponent
|  | getFocus():InteractiveObject Gets the object that currently has focus. | UIComponent
|  | getLayoutBoundsHeight(postLayoutTransform:Boolean = true):Number Returns the element's layout height. | UIComponent
|  | getLayoutBoundsWidth(postLayoutTransform:Boolean = true):Number Returns the element's layout width. | UIComponent
|  | getLayoutBoundsX(postLayoutTransform:Boolean = true):Number Returns the x coordinate that the element uses to draw on screen. | UIComponent
|  | getLayoutBoundsY(postLayoutTransform:Boolean = true):Number Returns the y coordinate that the element uses to draw on screen. | UIComponent
|  | getLayoutMatrix():Matrix Returns the transform matrix that is used to calculate the component's layout relative to its siblings. | UIComponent
|  | getLayoutMatrix3D():Matrix3D Returns the layout transform Matrix3D for this element. | UIComponent
|  | getMaxBoundsHeight(postLayoutTransform:Boolean = true):Number Returns the element's maximum height. | UIComponent
|  | getMaxBoundsWidth(postLayoutTransform:Boolean = true):Number Returns the element's maximum width. | UIComponent
|  | getMenuAt(index:int):Menu Returns a reference to the Menu object at the specified MenuBar item index, where 0 is the Menu contained at the leftmost MenuBar item index. | MenuBar
|  | getMinBoundsHeight(postLayoutTransform:Boolean = true):Number Returns the element's minimum height. | UIComponent
|  | getMinBoundsWidth(postLayoutTransform:Boolean = true):Number Returns the element's minimum width. | UIComponent
|  | getPreferredBoundsHeight(postLayoutTransform:Boolean = true):Number Returns the element's preferred height. | UIComponent
|  | getPreferredBoundsWidth(postLayoutTransform:Boolean = true):Number Returns the element's preferred width. | UIComponent
|  | getRepeaterItem(whichRepeater:int = -1):Object Returns the item in the dataProvider that was used by the specified Repeater to produce this Repeater, or null if this Repeater isn't repeated. | UIComponent
|  | getStyle(styleProp:String):* Gets a style property that has been set anywhere in this component's style lookup chain. | UIComponent
|  | getVisibleRect(targetParent:DisplayObject = null):Rectangle Get the bounds of this object that are visible to the user on the screen. | UIComponent
|  | globalToContent(point:Point):Point Converts a Point object from global to content coordinates. | UIComponent
|  | hasCSSState():Boolean Returns true if currentCSSState is not null. | UIComponent
|  | hasState(stateName:String):Boolean Determines whether the specified state has been defined on this UIComponent. | UIComponent
|  | horizontalGradientMatrix(x:Number, y:Number, width:Number, height:Number):Matrix Returns a box Matrix which can be passed to the drawRoundRect() method as the rot parameter when drawing a horizontal gradient. | UIComponent
|  | initialize():void Initializes the internal structure of this component. | UIComponent
|  | initializeRepeaterArrays(parent:IRepeaterClient):void Initializes various properties which keep track of repeated instances of this component. | UIComponent
|  | invalidateDisplayList():void Marks a component so that its updateDisplayList() method gets called during a later screen update. | UIComponent
|  | invalidateLayering():void Called by a component's items to indicate that their depth property has changed. | UIComponent
|  | invalidateLayoutDirection():void An element must call this method when its layoutDirection changes or when its parent's layoutDirection changes. | UIComponent
|  | invalidateProperties():void Marks a component so that its commitProperties() method gets called during a later screen update. | UIComponent
|  | invalidateSize():void Marks a component so that its measure() method gets called during a later screen update. | UIComponent
|  | itemToIcon(data:Object):Class Returns the class for an icon, if any, for a data item, based on the iconField property. | MenuBar
|  | itemToLabel(data:Object):String Returns the string the renderer would display for the given data object based on the labelField and labelFunction properties. | MenuBar
|  | localToContent(point:Point):Point Converts a Point object from local to content coordinates. | UIComponent
|  | matchesCSSState(cssState:String):Boolean Returns true if cssState matches currentCSSState. | UIComponent
|  | matchesCSSType(cssType:String):Boolean Determines whether this instance is the same as, or is a subclass of, the given type. | UIComponent
|  | measureHTMLText(htmlText:String):TextLineMetrics Measures the specified HTML text, which can contain HTML tags such as <font> and <b>, assuming that it is displayed in a single-line UITextField using a UITextFormat determined by the styles of this UIComponent. | UIComponent
|  | measureText(text:String):TextLineMetrics Measures the specified text, assuming that it is displayed in a single-line UITextField (or UIFTETextField) using a UITextFormat determined by the styles of this UIComponent. | UIComponent
|  | move(x:Number, y:Number):void Moves the component to a specified position within its parent. | UIComponent
|  | notifyStyleChangeInChildren(styleProp:String, recursive:Boolean):void Propagates style changes to the children. | UIComponent
|  | owns(child:DisplayObject):Boolean Returns true if the chain of owner properties points from child to this UIComponent. | UIComponent
|  | parentChanged(p:DisplayObjectContainer):void Called by Flex when a UIComponent object is added to or removed from a parent. | UIComponent
|  | prepareToPrint(target:IFlexDisplayObject):Object Prepares an IFlexDisplayObject for printing. | UIComponent
|  | regenerateStyleCache(recursive:Boolean):void Builds or rebuilds the CSS style cache for this component and, if the recursive parameter is true, for all descendants of this component as well. | UIComponent
|  | registerEffects(effects:Array):void For each effect event, registers the EffectManager as one of the event listeners. | UIComponent
|  | removeStyleClient(styleClient:IAdvancedStyleClient):void Removes a non-visual style client from this component instance. | UIComponent
|  | replayAutomatableEvent(event:Event):Boolean Replays the specified event. | UIComponent
|  | resolveAutomationIDPart(criteria:Object):Array Resolves a child by using the id provided. | UIComponent
|  | resumeBackgroundProcessing():void [static] Resumes the background processing of methods queued by callLater(), after a call to suspendBackgroundProcessing(). | UIComponent
|  | setActualSize(w:Number, h:Number):void Sizes the object. | UIComponent
|  | setConstraintValue(constraintName:String, value:*):void Sets a layout constraint value, which is the same as setting the constraint style for this component. | UIComponent
|  | setCurrentState(stateName:String, playTransition:Boolean = true):void Set the current state. | UIComponent
|  | setFocus():void Sets the focus to this component. | UIComponent
|  | setLayoutBoundsPosition(x:Number, y:Number, postLayoutTransform:Boolean = true):void Sets the coordinates that the element uses to draw on screen. | UIComponent
|  | setLayoutBoundsSize(width:Number, height:Number, postLayoutTransform:Boolean = true):void Sets the layout size of the element. | UIComponent
|  | setLayoutMatrix(value:Matrix, invalidateLayout:Boolean):void Sets the transform Matrix that is used to calculate the component's layout size and position relative to its siblings. | UIComponent
|  | setLayoutMatrix3D(value:Matrix3D, invalidateLayout:Boolean):void Sets the transform Matrix3D that is used to calculate the component's layout size and position relative to its siblings. | UIComponent
|  | setMXMLDescriptor(value:Array):void | UIComponent
|  | setMXMLProperties(value:Array):void | UIComponent
|  | setStyle(styleProp:String, newValue:*):void Sets a style property on this component instance. | UIComponent
|  | setVisible(value:Boolean, noEvent:Boolean = false):void Called when the visible property changes. | UIComponent
|  | styleChanged(styleProp:String):void Detects changes to style properties. | UIComponent
|  | stylesInitialized():void Flex calls the stylesInitialized() method when the styles for a component are first initialized. | UIComponent
|  | suspendBackgroundProcessing():void [static] Blocks the background processing of methods queued by callLater(), until resumeBackgroundProcessing() is called. | UIComponent
|  | toString():String [override] Returns a string indicating the location of this object within the hierarchy of DisplayObjects in the Application. | FlexSprite
|  | transformAround(transformCenter:Vector3D, scale:Vector3D = null, rotation:Vector3D = null, translation:Vector3D = null, postLayoutScale:Vector3D = null, postLayoutRotation:Vector3D = null, postLayoutTranslation:Vector3D = null, invalidateLayout:Boolean = true):void A utility method to update the rotation, scale, and translation of the transform while keeping a particular point, specified in the component's own coordinate space, fixed in the parent's coordinate space. | UIComponent
|  | transformPointToParent(localPosition:Vector3D, position:Vector3D, postLayoutPosition:Vector3D):void A utility method to transform a point specified in the local coordinates of this object to its location in the object's parent's coordinates. | UIComponent
|  | validateDisplayList():void Validates the position and size of children and draws other visuals. | UIComponent
|  | validateNow():void Validate and update the properties and layout of this object and redraw it, if necessary. | UIComponent
|  | validateProperties():void Used by layout logic to validate the properties of a component by calling the commitProperties() method. | UIComponent
|  | validateSize(recursive:Boolean = false):void Validates the measured size of the component If the LayoutManager.invalidateSize() method is called with this ILayoutManagerClient, then the validateSize() method is called when it's time to do measurements. | UIComponent
|  | validationResultHandler(event:ValidationResultEvent):void Handles both the valid and invalid events from a validator assigned to this component. | UIComponent
|  | verticalGradientMatrix(x:Number, y:Number, width:Number, height:Number):Matrix Returns a box Matrix which can be passed to drawRoundRect() as the rot parameter when drawing a vertical gradient. | UIComponent

Protected Methods
Show Inherited Protected Methods
Show Inherited Protected Methods

| Method | Defined By
--- | --- | ---
|  | addMXMLChildren(comps:Array):void | UIComponent
|  | adjustFocusRect(obj:DisplayObject = null):void Adjust the focus rectangle. | UIComponent
|  | applyComputedMatrix():void Commits the computed matrix built from the combination of the layout matrix and the transform offsets to the flash displayObject's transform. | UIComponent
|  | attachOverlay():void This is an internal method used by the Flex framework to support the Dissolve effect. | UIComponent
|  | canSkipMeasurement():Boolean Determines if the call to the measure() method can be skipped. | UIComponent
|  | childrenCreated():void Performs any final processing after child objects are created. | UIComponent
|  | commitProperties():void Processes the properties set on the component. | UIComponent
|  | createChildren():void Create child objects of the component. | UIComponent
|  | createInFontContext(classObj:Class):Object Creates a new object using a context based on the embedded font being used. | UIComponent
|  | createInModuleContext(moduleFactory:IFlexModuleFactory, className:String):Object Creates the object using a given moduleFactory. | UIComponent
|  | dispatchPropertyChangeEvent(prop:String, oldValue:*, value:*):void Helper method for dispatching a PropertyChangeEvent when a property is updated. | UIComponent
|  | focusInHandler(event:FocusEvent):void The event handler called when a UIComponent object gets focus. | UIComponent
|  | focusOutHandler(event:FocusEvent):void The event handler called when a UIComponent object loses focus. | UIComponent
|  | generateMXMLAttributes(data:Array):void | UIComponent
|  | generateMXMLInstances(document:Object, data:Array, recursive:Boolean = true):void | UIComponent
|  | generateMXMLObject(document:Object, data:Array):Object | UIComponent
|  | initAdvancedLayoutFeatures():void Initializes the implementation and storage of some of the less frequently used advanced layout features of a component. | UIComponent
|  | initializationComplete():void Finalizes the initialization of this component. | UIComponent
|  | initializeAccessibility():void Initializes this component's accessibility code. | UIComponent
|  | invalidateParentSizeAndDisplayList():void Helper method to invalidate parent size and display list if this object affects its layout (includeInLayout is true). | UIComponent
|  | isOurFocus(target:DisplayObject):Boolean Typically overridden by components containing UITextField objects, where the UITextField object gets focus. | UIComponent
|  | keyDownHandler(event:KeyboardEvent):void The event handler called for a keyDown event. | UIComponent
|  | keyUpHandler(event:KeyboardEvent):void The event handler called for a keyUp event. | UIComponent
|  | measure():void [override] Calculates the preferred width and height of the MenuBar based on the default widths of the MenuBar items. | MenuBar
|  | resourcesChanged():void This method is called when a UIComponent is constructed, and again whenever the ResourceManager dispatches a "change" Event to indicate that the localized resources have changed in some way. | UIComponent
|  | setStretchXY(stretchX:Number, stretchY:Number):void Specifies a transform stretch factor in the horizontal and vertical direction. | UIComponent
|  | stateChanged(oldState:String, newState:String, recursive:Boolean):void This method is called when a state changes to check whether state-specific styles apply to this component. | UIComponent
|  | updateBackground():void Updates the MenuBar control's background skin. | MenuBar
|  | updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void Draws the object and/or sizes and positions its children. | UIComponent

Events
Hide Inherited Events
Show Inherited Events

| Event | Summary | Defined By
--- | --- | --- | ---
|  | add | Dispatched when the component is added to a container as a content child by using the addChild(), addChildAt(), addElement(), or addElementAt() method. | UIComponent
|  | change | Dispatched when selection changes as a result of user interaction. | MenuBar
|  | creationComplete | Dispatched when the component has finished its construction, property processing, measuring, layout, and drawing. | UIComponent
|  | currentStateChange | Dispatched after the view state has changed. | UIComponent
|  | currentStateChanging | Dispatched after the currentState property changes, but before the view state changes. | UIComponent
|  | dragComplete | Dispatched by the drag initiator (the component that is the source of the data being dragged) when the drag operation completes, either when you drop the dragged data onto a drop target or when you end the drag-and-drop operation without performing a drop. | UIComponent
|  | dragDrop | Dispatched by the drop target when the user releases the mouse over it. | UIComponent
|  | dragEnter | Dispatched by a component when the user moves the mouse over the component during a drag operation. | UIComponent
|  | dragExit | Dispatched by the component when the user drags outside the component, but does not drop the data onto the target. | UIComponent
|  | dragOver | Dispatched by a component when the user moves the mouse while over the component during a drag operation. | UIComponent
|  | dragStart | Dispatched by the drag initiator when starting a drag operation. | UIComponent
|  | effectEnd | Dispatched after an effect ends. | UIComponent
|  | effectStart | Dispatched just before an effect starts. | UIComponent
|  | effectStop | Dispatched after an effect is stopped, which happens only by a call to stop() on the effect. | UIComponent
|  | enterState | Dispatched after the component has entered a view state. | UIComponent
|  | exitState | Dispatched just before the component exits a view state. | UIComponent
|  | hide | Dispatched when an object's state changes from visible to invisible. | UIComponent
|  | initialize | Dispatched when the component has finished its construction and has all initialization properties set. | UIComponent
|  | invalid | Dispatched when a component is monitored by a Validator and the validation failed. | UIComponent
|  | itemClick | Dispatched when the user selects an item in a pop-up submenu. | MenuBar
|  | itemRollOut | Dispatched when the mouse pointer rolls out of a menu item. | MenuBar
|  | itemRollOver | Dispatched when the mouse pointer rolls over a menu item. | MenuBar
|  | menuHide | Dispatched when a pop-up submenu closes. | MenuBar
|  | menuShow | Dispatched when a pop-up submenu opens, or the user selects a menu bar item with no drop-down menu. | MenuBar
|  | mouseDownOutside | Dispatched from a component opened using the PopUpManager when the user clicks outside it. | UIComponent
|  | mouseWheelOutside | Dispatched from a component opened using the PopUpManager when the user scrolls the mouse wheel outside it. | UIComponent
|  | move | Dispatched when the object has moved. | UIComponent
|  | preinitialize | Dispatched at the beginning of the component initialization sequence. | UIComponent
|  | remove | Dispatched when the component is removed from a container as a content child by using the removeChild(), removeChildAt(), removeElement(), or removeElementAt() method. | UIComponent
|  | resize | Dispatched when the component is resized. | UIComponent
|  | show | Dispatched when an object's state changes from invisible to visible. | UIComponent
|  | stateChangeComplete | Dispatched after the component has entered a new state and any state transition animation to that state has finished playing. | UIComponent
|  | stateChangeInterrupted | Dispatched when a component interrupts a transition to its current state in order to switch to a new state. | UIComponent
|  | toolTipCreate | Dispatched by the component when it is time to create a ToolTip. | UIComponent
|  | toolTipEnd | Dispatched by the component when its ToolTip has been hidden and is to be discarded soon. | UIComponent
|  | toolTipHide | Dispatched by the component when its ToolTip is about to be hidden. | UIComponent
|  | toolTipShow | Dispatched by the component when its ToolTip is about to be shown. | UIComponent
|  | toolTipShown | Dispatched by the component when its ToolTip has been shown. | UIComponent
|  | toolTipStart | Dispatched by a component whose toolTip property is set, as soon as the user moves the mouse over it. | UIComponent
|  | touchInteractionEnd | A non-cancellable event, dispatched by a component when it is done responding to a touch interaction user gesture. | UIComponent
|  | touchInteractionStart | A non-cancellable event, dispatched by a component when it starts responding to a touch interaction user gesture. | UIComponent
|  | touchInteractionStarting | A cancellable event, dispatched by a component in an attempt to respond to a touch interaction user gesture. | UIComponent
|  | updateComplete | Dispatched when an object has had its commitProperties(), measure(), and updateDisplayList() methods called (if needed). | UIComponent
|  | valid | Dispatched when a component is monitored by a Validator and the validation succeeded. | UIComponent
|  | valueCommit | Dispatched when values are changed programmatically or by user interaction. | UIComponent

Styles
Hide Inherited Styles
Show Inherited Styles

| Style | Description | Defined By
--- | --- | --- | ---
|  | backgroundSkin | Type: Class CSS Inheritance: no The background skin of the MenuBar control. The default skin class is based on the theme. For example, with the Halo theme, the default skin class is `mx.skins.halo.MenuBarBackgroundSkin`. For the Spark theme, the default skin class is `mx.skins.spark.ButtonSkin`. | MenuBar
|  | baseline | Type: String CSS Inheritance: no The vertical distance in pixels from the top edge of the content area to the control's baseline position. | UIComponent
|  | borderColor | Type: uint Format: Color CSS Inheritance: no Theme: halo Color of the border. The following controls support this style: Button, CheckBox, ComboBox, MenuBar, NumericStepper, ProgressBar, RadioButton, ScrollBar, Slider, and any components that support the `borderStyle` style. The default value depends on the component class; if not overridden for the class, the default value is `0xB7BABC`. | MenuBar
|  | bottom | Type: String CSS Inheritance: no The vertical distance, in pixels, from the bottom edge of the component to the bottom edge of its parent container's content area. | UIComponent
|  | chromeColor | Type: uint Format: Color CSS Inheritance: yes Theme: spark The main color for a component. | UIComponent
|  | color | Type: uint Format: Color CSS Inheritance: yes Color of text in the component, including the component label. The default value for the Halo theme is `0x0B333C`. The default value for the Spark theme is `0x000000`. | MenuBar
|  | cornerRadius | Type: Number Format: Length CSS Inheritance: no Theme: halo, spark Radius of component corners. The following components support this style: Alert, Button, ComboBox, LinkButton, MenuBar, NumericStepper, Panel, ScrollBar, Tab, TitleWindow, and any component that supports a `borderStyle` property set to `"solid"`. The default value depends on the component class; if not overridden for the class, the default value for the Halo theme is `0` and for the Spark theme is `2`. | MenuBar
|  | direction | Type: String CSS Inheritance: yes The directionality of the text displayed by the component. The allowed values are `"ltr"` for left-to-right text, as in Latin-style scripts, and `"rtl"` for right-to-left text, as in Arabic and Hebrew. FTE and TLF use this value in their bidirectional text layout algorithm, which maps Unicode character order to glyph order. Note: This style only applies when an MX component specifies UIFTETextField as its `textFieldClass`. The `direction` also affects the alignment of the text within the bounds of the TLFTextField. It does not, however, affect the the placement of the TLFTextField within the component. The default value is`"ltr"`. | MenuBar
|  | disabledColor | Type: uint Format: Color CSS Inheritance: yes Color of text in the component if it is disabled. The default value is`0xAAB3B3`. | MenuBar
|  | errorColor | Type: uint Format: Color CSS Inheritance: yes Color of the component highlight when validation fails. | UIComponent
|  | fillAlphas | Type: Array CSS Inheritance: no Theme: halo Alphas used for the background fill of controls. Use [1, 1] to make the control background opaque. The default value is`[ 0.6, 0.4 ]`. | MenuBar
|  | fillColors | Type: Array Format: Color CSS Inheritance: no Theme: halo Colors used to tint the background of the control. Pass the same color for both values for a flat-looking control. The default value is`[ 0xFFFFFF, 0xCCCCCC ]`. | MenuBar
|  | focusAlpha | Type: Number CSS Inheritance: no Specifies the alpha transparency value of the focus skin. The default value for the Halo theme is `0.4`. The default value for the Spark theme is `0.55`. | MenuBar
|  | focusBlendMode | Type: String CSS Inheritance: no Blend mode used by the focus rectangle. | UIComponent
|  | focusRoundedCorners | Type: String CSS Inheritance: no Specifies which corners of the focus rectangle should be rounded. This value is a space-separated String that can contain any combination of `"tl"`, `"tr"`, `"bl"` and `"br"`. For example, to specify that the right side corners should be rounded, but the left side corners should be square, use `"tr br"`. The `cornerRadius` style property specifies the radius of the rounded corners. The default value depends on the component class; if not overridden for the class, default value is `"tl tr bl br"`. | MenuBar
|  | focusSkin | Type: Class CSS Inheritance: no Skin used to draw the focus rectangle. | UIComponent
|  | focusThickness | Type: Number Format: Length CSS Inheritance: no Thickness, in pixels, of the focus rectangle outline. | UIComponent
|  | fontAntiAliasType | Type: String CSS Inheritance: yes Sets the `antiAliasType` property of internal TextFields. The possible values are `"normal"` (`flash.text.AntiAliasType.NORMAL`) and `"advanced"` (`flash.text.AntiAliasType.ADVANCED`). The default value is `"advanced"`, which enables advanced anti-aliasing for the font. Set to `"normal"` to disable the advanced anti-aliasing. This style has no effect for system fonts. This style applies to all the text in a TextField subcontrol; you cannot apply it to some characters and not others. The default value is`"advanced"`. See also flash.text.TextField flash.text.AntiAliasType | MenuBar
|  | fontFamily | Type: String CSS Inheritance: yes Name of the font to use. Unlike in a full CSS implementation, comma-separated lists are not supported. You can use any font family name. If you specify a generic font name, it is converted to an appropriate device font. The default font for the Halo theme is `"Verdana"`. The default font for the Spark theme is `"Arial"`. | MenuBar
|  | fontGridFitType | Type: String CSS Inheritance: yes Sets the `gridFitType` property of internal TextFields that represent text in Flex controls. The possible values are `"none"` (`flash.text.GridFitType.NONE`), `"pixel"` (`flash.text.GridFitType.PIXEL`), and `"subpixel"` (`flash.text.GridFitType.SUBPIXEL`). This property only applies when you are using an embedded font and the `fontAntiAliasType` property is set to `"advanced"`. This style has no effect for system fonts. This style applies to all the text in a TextField subcontrol; you can't apply it to some characters and not others. The default value is`"pixel"`. See also flash.text.TextField flash.text.GridFitType | MenuBar
|  | fontSharpness | Type: Number CSS Inheritance: yes Sets the `sharpness` property of internal TextFields that represent text in Flex controls. This property specifies the sharpness of the glyph edges. The possible values are Numbers from -400 through 400. This property only applies when you are using an embedded font and the `fontAntiAliasType` property is set to `"advanced"`. This style has no effect for system fonts. This style applies to all the text in a TextField subcontrol; you can't apply it to some characters and not others. The default value is`0`. See also flash.text.TextField | MenuBar
|  | fontSize | Type: Number Format: Length CSS Inheritance: yes Height of the text, in pixels. In the Halo theme, the default value is 10 for all controls except the ColorPicker control. For the Halo themed ColorPicker control, the default value is 11. In the Spark theme, the default value is 12 for all controls except the ColorPicker control. For the Spark themed ColorPicker control, the default value is 11. | MenuBar
|  | fontStyle | Type: String CSS Inheritance: yes Determines whether the text is italic font. Recognized values are `"normal"` and `"italic"`. The default value is`"normal"`. | MenuBar
|  | fontThickness | Type: Number CSS Inheritance: yes Sets the `thickness` property of internal TextFields that represent text in Flex controls. This property specifies the thickness of the glyph edges. The possible values are Numbers from -200 to 200. This property only applies when you are using an embedded font and the `fontAntiAliasType` property is set to `"advanced"`. This style has no effect on system fonts. This style applies to all the text in a TextField subcontrol; you can't apply it to some characters and not others. The default value is`0`. See also flash.text.TextField | MenuBar
|  | fontWeight | Type: String CSS Inheritance: yes Determines whether the text is boldface. Recognized values are `normal` and `bold`. The default value for Button controls is `bold`. The default value for all other controls is `normal`. | MenuBar
|  | highlightAlphas | Type: Array CSS Inheritance: no Theme: halo Alpha transparencies used for the highlight fill of controls. The first value specifies the transparency of the top of the highlight and the second value specifies the transparency of the bottom of the highlight. The highlight covers the top half of the skin. The default value is`[ 0.3, 0.0 ]`. | MenuBar
|  | horizontalCenter | Type: String CSS Inheritance: no The horizontal distance in pixels from the center of the component's content area to the center of the component. | UIComponent
|  | interactionMode | Type: String CSS Inheritance: yes The primary interaction mode for this component. See also mx.core.InteractionMode.MOUSE mx.core.InteractionMode.TOUCH | UIComponent
|  | itemDownSkin | Type: Class CSS Inheritance: no The skin when a MenuBar item is selected. The default skin class is based on the theme. For example, with the Halo theme, the default skin class is `mx.skins.halo.ActivatorSkin`. For the Spark theme, the default skin class is `mx.skins.spark.MenuItemSkin`. | MenuBar
|  | itemOverSkin | Type: Class CSS Inheritance: no The skin when focus is over a MenuBar item. The default skin class is based on the theme. For example, with the Halo theme, the default skin class is `mx.skins.halo.ActivatorSkin`. For the Spark theme, the default skin class is `mx.skins.spark.MenuItemSkin`. | MenuBar
|  | itemSkin | Type: Class CSS Inheritance: no The default skin for a MenuBar item. The default skin class is based on the theme. For example, with the Halo theme, the default skin class is `mx.skins.halo.ActivatorSkin`. For the Spark theme, the default skin class is `mx.skins.spark.MenuItemSkin`. | MenuBar
|  | itemUpSkin | Type: Class CSS Inheritance: no The skin when a MenuBar item is not selected. The default skin class is based on the theme. For example, with the Halo theme, the default skin class is `mx.skins.halo.ActivatorSkin`. For the Spark theme, the default skin class is `mx.skins.spark.MenuItemSkin`. | MenuBar
|  | kerning | Type: Boolean CSS Inheritance: yes A Boolean value that indicates whether kerning is enabled (`true`) or disabled (`false`). Kerning adjusts the gap between certain character pairs to improve readability, and should be used only when necessary, such as with headings in large fonts. Kerning is supported for embedded fonts only. Certain fonts, such as Verdana, and monospaced fonts, such as Courier New, do not support kerning. The default value is`false`. | MenuBar
|  | layoutDirection | Type: String CSS Inheritance: yes Specifies the desired layout direction of a component. See also MXFTEText.css mx.core.ILayoutDirectionElement mx.core.LayoutDirection | UIComponent
|  | leading | Type: Number Format: Length CSS Inheritance: yes Additional vertical space between lines of text. The default value is 2. The default value for the ComboBox control is 0. | MenuBar
|  | left | Type: String CSS Inheritance: no The horizontal distance, in pixels, from the left edge of the component to the left edge of its parent container's content area. | UIComponent
|  | letterSpacing | Type: Number CSS Inheritance: yes The number of additional pixels to appear between each character. A positive value increases the character spacing beyond the normal spacing, while a negative value decreases it. The default value is`0`. | MenuBar
|  | locale | Type: String CSS Inheritance: yes The locale of the text displayed by this component. FTE and TLF use this locale to map Unicode characters to font glyphs and to find fallback fonts. Note: This style only applies when an MX component specifies UIFTETextField as its `textFieldClass`. The default value is`"en"`. | MenuBar
|  | menuStyleName | Type: String CSS Inheritance: no Name of the CSSStyleDeclaration that specifies the styles for the Menu controls displayed by this MenuBar control. By default, the Menu controls use the MenuBar control's inheritable styles. You can use this class selector to set the values of all the style properties of the Menu class, including `backgroundAlpha` and `backgroundColor`. The default value is`undefined`. | MenuBar
|  | right | Type: String CSS Inheritance: no The horizontal distance, in pixels, from the right edge of the component to the right edge of its parent container's content area. | UIComponent
|  | rollOverColor | Type: uint Format: Color CSS Inheritance: yes The color of the menu item background when a user rolls the mouse over it. The default value for the Halo theme is `0xB2E1FF`. The default value for the Spark theme is `0xCEDBEF`. | MenuBar
|  | selectionColor | Type: uint Format: Color CSS Inheritance: yes The color of the menu item background when a menu item is selected. The default value for the Halo theme is `0x7FCEFF`. The default value for the Spark theme is `0xA8C6EE`. | MenuBar
|  | showErrorSkin | Type: Boolean CSS Inheritance: yes Show the error border or skin when this component is invalid. | UIComponent
|  | showErrorTip | Type: Boolean CSS Inheritance: yes Show the error tip when this component is invalid and the user rolls over it. | UIComponent
|  | symbolColor | Type: uint Format: Color CSS Inheritance: yes Theme: spark Color of any symbol of a component. Examples include the check mark of a CheckBox or the arrow of a ScrollBar button. The default value is`0x000000`. | MenuBar
|  | textAlign | Type: String CSS Inheritance: yes Alignment of text within a container. Possible values are `"left"`, `"right"`, or `"center"`. The default value for most components is `"left"`. For the FormItem component, the default value is `"right"`. For the Button, LinkButton, and AccordionHeader components, the default value is `"center"`, and this property is only recognized when the `labelPlacement` property is set to `"left"` or `"right"`. If `labelPlacement` is set to `"top"` or `"bottom"`, the text and any icon are centered. | MenuBar
|  | textDecoration | Type: String CSS Inheritance: yes Determines whether the text is underlined. Possible values are `"none"` and `"underline"`. The default value is`"none"`. | MenuBar
|  | textFieldClass | Type: Class CSS Inheritance: no The class implementing IUITextField that is used by this component to render text. It can be set to either the mx.core.UITextField class (to use the classic TextField class built into Flash Player) or the mx.core.UIFTETextField class (to use the Text Layout Framework to get improved text rendering, including bidirectional layout). The default value is`mx.core.UITextField`. | MenuBar
|  | textIndent | Type: Number Format: Length CSS Inheritance: yes Offset of first line of text from the left side of the container, in pixels. The default value is`0`. | MenuBar
|  | themeColor | Type: uint Format: Color CSS Inheritance: yes Theme: halo Theme color of a component. | UIComponent
|  | top | Type: String CSS Inheritance: no The vertical distance, in pixels, from the top edge of the component to the top edge of its parent container's content area. | UIComponent
|  | verticalCenter | Type: String CSS Inheritance: no The vertical distance in pixels from the center of the component's content area to the center of the component. | UIComponent

Effects
Hide Inherited Effects
Show Inherited Effects

| Effect | Description | Defined By
--- | --- | --- | ---
|  | addedEffect | Triggering Event: added Played when the component is added as a child to a Container. | UIComponent
|  | creationCompleteEffect | Triggering Event: creationComplete Played when the component is created. | UIComponent
|  | focusInEffect | Triggering Event: focusIn Played when the component gains keyboard focus. | UIComponent
|  | focusOutEffect | Triggering Event: focusOut Played when the component loses keyboard focus. | UIComponent
|  | hideEffect | Triggering Event: hide Played when the component becomes invisible. | UIComponent
|  | mouseDownEffect | Triggering Event: mouseDown Played when the user presses the mouse button while over the component. | UIComponent
|  | mouseUpEffect | Triggering Event: mouseUp Played when the user releases the mouse button while over the component. | UIComponent
|  | moveEffect | Triggering Event: move Played when the component is moved. | UIComponent
|  | removedEffect | Triggering Event: removed Played when the component is removed from a Container. | UIComponent
|  | resizeEffect | Triggering Event: resize Played when the component is resized. | UIComponent
|  | rollOutEffect | Triggering Event: rollOut Played when the user rolls the mouse so it is no longer over the component. | UIComponent
|  | rollOverEffect | Triggering Event: rollOver Played when the user rolls the mouse over the component. | UIComponent
|  | showEffect | Triggering Event: show Played when the component becomes visible. | UIComponent

Public Constants
Hide Inherited Public Constants
Show Inherited Public Constants

| Constant | Defined By
--- | --- | ---
|  | DEFAULT_MAX_HEIGHT : Number = 10000 [static] The default value for the maxHeight property. | UIComponent
|  | DEFAULT_MAX_WIDTH : Number = 10000 [static] The default value for the maxWidth property. | UIComponent
|  | DEFAULT_MEASURED_HEIGHT : Number = 22 [static] The default value for the measuredHeight property. | UIComponent
|  | DEFAULT_MEASURED_MIN_HEIGHT : Number = 22 [static] The default value for the measuredMinHeight property. | UIComponent
|  | DEFAULT_MEASURED_MIN_WIDTH : Number = 40 [static] The default value for the measuredMinWidth property. | UIComponent
|  | DEFAULT_MEASURED_WIDTH : Number = 160 [static] The default value for the measuredWidth property. | UIComponent

Property Detail

dataDescriptor | property

`dataDescriptor:IMenuDataDescriptor`

Language Version : | ActionScript 3.0

Product Version : | Flex 3

Runtime Versions : | Flash Player 9, AIR 1.1

The object that accesses and manipulates data in the data provider. The MenuBar control delegates to the data descriptor for information about its data. This data is then used to parse and move about the data source. The data descriptor defined for the MenuBar is used for all child menus and submenus.

When you specify this property as an attribute in MXML, you must use a reference to the data descriptor, not the string name of the descriptor. Use the following format for setting the property:

    <mx:MenuBar id="menubar" dataDescriptor="{new MyCustomDataDescriptor()}"/>

Alternatively, you can specify the property in MXML as a nested subtag, as the following example shows:

    <mx:MenuBar>
          <mx:dataDescriptor>
             <myCustomDataDescriptor>
          </mx:dataDescriptor>
          ...

The default value is an internal instance of the DefaultDataDescriptor class.

Implementation
`public function get dataDescriptor():IMenuDataDescriptor`
`public function set dataDescriptor(value:IMenuDataDescriptor):void`

dataProvider | property |

`dataProvider:Object`

Language Version : | ActionScript 3.0

Product Version : | Flex 3

Runtime Versions : | Flash Player 9, AIR 1.1

The hierarchy of objects that are displayed as MenuBar items and menus. The top-level children all become MenuBar items, and their children become the items in the menus and submenus. The MenuBar control handles the source data object as follows:

- A String containing valid XML text is converted to an XML object.
- An XMLNode is converted to an XML object.
- An XMLList is converted to an XMLListCollection.
- Any object that implements the ICollectionView interface is cast to an ICollectionView.
- An Array is converted to an ArrayCollection.
- Any other type object is wrapped in an Array with the object as its sole entry.

The default value is `"undefined"`.

This property can be used as the source for data binding.

Implementation
`public function get dataProvider():Object`
`public function set dataProvider(value:Object):void`

hasRoot | property |

`hasRoot:Boolean` [read-only]

Language Version : | ActionScript 3.0

Product Version : | Flex 3

Runtime Versions : | Flash Player 9, AIR 1.1

A flag that indicates that the current data provider has a root node; for example, a single top node in a hierarchical structure. XML and Object are examples of types that have a root node, while Lists and Arrays do not.

Implementation
`public function get hasRoot():Boolean`

iconField | property |

`iconField:String`

Language Version : | ActionScript 3.0

Product Version : | Flex 3

Runtime Versions : | Flash Player 9, AIR 1.1

The name of the field in the data provider that determines the icon to display for each menu item. By default, the MenuBar does not try to display icons along with the text in a menu item. By specifying an icon field, you can define a graphic that is created and displayed as an icon for a menu item.

The MenuItemRenderer examines the data provider for a property of the name defined by the `iconField` property. If the value of the property is a Class, it instantiates that class and expects it to be an instance of IFlexDisplayObject. If the value of the property is a String, it looks to see if a Class exists with that name in the application, and if it cannot find one, it looks for a property on the document with that name and expects that property to map to a Class.

The default value is `"icon"`.

This property can be used as the source for data binding.

Implementation
`public function get iconField():String`
`public function set iconField(value:String):void`

labelField | property |

`labelField:String`

Language Version : | ActionScript 3.0

Product Version : | Flex 3

Runtime Versions : | Flash Player 9, AIR 1.1

The name of the field in the data provider that determines the text to display for each menu item. If the data provider is an Array of Strings, Flex uses each string value as the label. If the data provider is an E4X XML object, you must set this property explicitly. For example, use

The default value is `"label"`.

This property can be used as the source for data binding.

Implementation
`public function get labelField():String`
`public function set labelField(value:String):void`

labelFunction | property |

`public var labelFunction:Function`

Language Version : | ActionScript 3.0

Product Version : | Flex 3

Runtime Versions : | Flash Player 9, AIR 1.1

The function that determines the text to display for each menu item. The label function must find the appropriate field or fields in the data provider and return a displayable string. If you omit this property, Flex uses the contents of the field or attribute specified by the `labelField` property. If you specify this property, Flex ignores any `labelField` property value. The `labelFunction` property is good for handling formatting and localization.

The label function must take a single argument which is the item in the data provider and return a String.

          myLabelFunction(item:Object):String

The default value is `"undefined"`.

menuBarItemRenderer | property |

`menuBarItemRenderer:IFactory`

Language Version : | ActionScript 3.0

Product Version : | Flex 3

Runtime Versions : | Flash Player 9, AIR 1.1

The item renderer used by the MenuBar control for the top-level menu bar of the MenuBar control.

You can define an item renderer for the pop-up submenus of the MenuBar control. Because each pop-up submenu is an instance of the Menu control, you use the class MenuItemRenderer to define an item renderer for the pop-up submenus. To set the item renderer for a pop-up submenu, access the Menu object using the `menus` property.

The default value is `"mx.controls.menuClasses.MenuBarItem"`.

This property can be used as the source for data binding.

Implementation
`public function get menuBarItemRenderer():IFactory`
`public function set menuBarItemRenderer(value:IFactory):void`

See also

mx.controls.menuClasses.MenuBarItem

menuBarItems | property |

`public var menuBarItems:Array`

Language Version : | ActionScript 3.0

Product Version : | Flex 3

Runtime Versions : | Flash Player 9, AIR 1.1

An Array that contains the MenuBarItem objects that render each item in the top-level menu bar of a MenuBar control. By default, this property contains instances of the MenuBarItem class. Items should not be added directly to the `menuBarItems` array. To add new menubar items, add them directly to the MenuBar control's data provider.

The default value is `[ ]`.

See also

mx.controls.menuClasses.MenuBarItem

menuBarItemStyleFilters | property |

`menuBarItemStyleFilters:Object` [read-only]

Language Version : | ActionScript 3.0

Product Version : | Flex 3

Runtime Versions : | Flash Player 9, AIR 1.1

The set of styles to pass from the MenuBar to the menuBar items.

Implementation
`protected function get menuBarItemStyleFilters():Object`

See also

mx.styles.StyleProxy

menus | property |

`public var menus:Array`

Language Version : | ActionScript 3.0

Product Version : | Flex 3

Runtime Versions : | Flash Player 9, AIR 1.1

An Array containing the Menu objects corresponding to the pop-up submenus of this MenuBar control. Each MenuBar item can have a corresponding Menu object in the Array, even if the item does not have a pop-up submenu. Flex does not initially populate the `menus` array; instead, it creates the menus dynamically, as needed. Items should not be added directly to the `menus` Array. To add new drop-down menus, add directly to the MenuBar control's data provider.

The default value is `[ ]`.

selectedIndex | property |

`selectedIndex:int`

Language Version : | ActionScript 3.0

Product Version : | Flex 3

Runtime Versions : | Flash Player 9, AIR 1.1

The index in the MenuBar control of the currently open Menu or the last opened Menu if none are currently open.

The default value is `-1`.

This property can be used as the source for data binding.

Implementation
`public function get selectedIndex():int`
`public function set selectedIndex(value:int):void`

showRoot | property |

`showRoot:Boolean`

Language Version : | ActionScript 3.0

Product Version : | Flex 3

Runtime Versions : | Flash Player 9, AIR 1.1

A Boolean flag that specifies whether to display the data provider's root node. If the data provider has a root node, and the `showRoot` property is set to `false`, the items on the MenuBar control correspond to the immediate descendants of the root node. This flag has no effect on data providers without root nodes, like Lists and Arrays.

The default value is `true`.

Implementation
`public function get showRoot():Boolean`
`public function set showRoot(value:Boolean):void`

See also

hasRoot
Constructor Detail

MenuBar | () | Constructor

`public function MenuBar()`

Language Version : | ActionScript 3.0

Product Version : | Flex 3

Runtime Versions : | Flash Player 9, AIR 1.1

Constructor.

Method Detail

getMenuAt | () | method

`public function getMenuAt(index:int):Menu`

Language Version : | ActionScript 3.0

Product Version : | Flex 3

Runtime Versions : | Flash Player 9, AIR 1.1

Returns a reference to the Menu object at the specified MenuBar item index, where 0 is the Menu contained at the leftmost MenuBar item index.

Parameters

| `index:int` — Index of the Menu instance to return.

Returns

| `Menu` — Reference to the Menu contained at the specified index.

itemToIcon | () | method |

`public function itemToIcon(data:Object):Class`

Language Version : | ActionScript 3.0

Product Version : | Flex 3

Runtime Versions : | Flash Player 9, AIR 1.1

Returns the class for an icon, if any, for a data item, based on the `iconField` property. The field in the item can return a string as long as that string represents the name of a class in the application. The field in the item can also be a string that is the name of a variable in the document that holds the class for the icon.

Parameters

| `data:Object` — The item from which to extract the icon class

Returns

| `Class` — The icon for the item, as a class reference or `null` if none.

itemToLabel | () | method |

`public function itemToLabel(data:Object):String`

Language Version : | ActionScript 3.0

Product Version : | Flex 3

Runtime Versions : | Flash Player 9, AIR 1.1

Returns the string the renderer would display for the given data object based on the labelField and labelFunction properties. If the method cannot convert the parameter to a string, it returns a single space.

Parameters

| `data:Object` — Object to be rendered.

Returns

| `String` — The string to be displayed based on the data.

measure | () | method |

`override protected function measure():void`

Language Version : | ActionScript 3.0

Product Version : | Flex 3

Runtime Versions : | Flash Player 9, AIR 1.1

Calculates the preferred width and height of the MenuBar based on the default widths of the MenuBar items.

updateBackground | () | method |

`protected function updateBackground():void`

Language Version : | ActionScript 3.0

Product Version : | Flex 3

Runtime Versions : | Flash Player 9, AIR 1.1

Updates the MenuBar control's background skin. This method is called when MenuBar children are created or when any styles on the MenuBar changes.

Event Detail

change | Event

Event Object Type: `mx.events.MenuEvent`
MenuEvent.type property = `mx.events.MenuEvent.CHANGE`

Language Version : | ActionScript 3.0

Product Version : | Flex 3

Runtime Versions : | Flash Player 9, AIR 1.1

Dispatched when selection changes as a result of user interaction. This event is also dispatched when the user changes the current menu selection in a pop-up submenu. When the event occurs on the menu bar, the `menu` property of the MenuEvent object is `null`. When it occurs in a pop-up submenu, the `menu` property contains a reference to the Menu object that represents the the pop-up submenu.

The MenuEvent.CHANGE event type constant indicates that selection changed as a result of user interaction.

The properties of the event object for this event type have the following values. Not all properties are meaningful for all kinds of events. See the detailed property descriptions for more information.

Property | Value
--- | ---
`bubbles` | false
`cancelable` | true
`currentTarget` | The Object that defines the event listener that handles the event. For example, if you use `myButton.addEventListener()` to register an event listener, myButton is the value of the `currentTarget`.
`index` | The index in the menu of the selected menu item.
`item` | The item in the dataProvider that was selected.
`itemRenderer` | The item renderer of the selected menu item.
`label` | The label text of the selected menu item.
`menu` | The specific Menu instance associated with this event, or `null` if a MenuBar item is dispatching the event.
`menuBar` | The MenuBar instance that is the parent of the Menu control, or `null` if the Menu control is not parented by a MenuBar control.
`target` | The Object that dispatched the event; it is not always the Object listening for the event. Use the `currentTarget` property to always access the Object listening for the event.
`type` | MenuEvent.CHANGE

itemClick | Event |

Event Object Type: `mx.events.MenuEvent`
MenuEvent.type property = `mx.events.MenuEvent.ITEM_CLICK`

Language Version : | ActionScript 3.0

Product Version : | Flex 3

Runtime Versions : | Flash Player 9, AIR 1.1

Dispatched when the user selects an item in a pop-up submenu.

The MenuEvent.ITEM_CLICK event type constant indicates that the user selected a menu item.

The properties of the event object for this event type have the following values. Not all properties are meaningful for all kinds of events. See the detailed property descriptions for more information.

Property | Value
--- | ---
`bubbles` | false
`cancelable` | true
`currentTarget` | The Object that defines the event listener that handles the event. For example, if you use `myButton.addEventListener()` to register an event listener, myButton is the value of the `currentTarget`.
`index` | The index in the menu of the selected menu item.
`item` | The item in the dataProvider that was selected.
`itemRenderer` | The ListItemRenderer of the selected menu item.
`label` | The label text of the selected menu item.
`menu` | The specific Menu instance associated with this event, or `null` if a MenuBar item is dispatching the event.
`menuBar` | The MenuBar instance that is the parent of the Menu control, or `null` if the Menu control is not parented by a MenuBar control.
`target` | The Object that dispatched the event; it is not always the Object listening for the event. Use the `currentTarget` property to always access the Object listening for the event.
`type` | MenuEvent.ITEM_CLICK

itemRollOut | Event |

Event Object Type: `mx.events.MenuEvent`
MenuEvent.type property = `mx.events.MenuEvent.ITEM_ROLL_OUT`

Language Version : | ActionScript 3.0

Product Version : | Flex 3

Runtime Versions : | Flash Player 9, AIR 1.1

Dispatched when the mouse pointer rolls out of a menu item.

The MenuEvent.ITEM_ROLL_OUT type constant indicates that the mouse pointer rolled out of a menu item.

The properties of the event object for this event type have the following values. Not all properties are meaningful for all kinds of events. See the detailed property descriptions for more information.

Property | Value
--- | ---
`bubbles` | false
`cancelable` | true
`currentTarget` | The Object that defines the event listener that handles the event. For example, if you use `myButton.addEventListener()` to register an event listener, myButton is the value of the `currentTarget`.
`index` | The index in the menu of the menu item that was rolled out of.
`item` | The item in the dataProvider corresponding to the menu item that was rolled out of.
`itemRenderer` | The ListItemRenderer of the menu item that was rolled out of.
`label` | The label text of the menu item that was rolled out of.
`menu` | The specific Menu instance associated with this event, or `null` if a MenuBar item is dispatching the event.
`menuBar` | The MenuBar instance that is the parent of the Menu control, or `null` if the Menu control is not parented by a MenuBar control.
`target` | The Object that dispatched the event; it is not always the Object listening for the event. Use the `currentTarget` property to always access the Object listening for the event.
`type` | MenuEvent.ITEM_ROLL_OUT

itemRollOver | Event |

Event Object Type: `mx.events.MenuEvent`
MenuEvent.type property = `mx.events.MenuEvent.ITEM_ROLL_OVER`

Language Version : | ActionScript 3.0

Product Version : | Flex 3

Runtime Versions : | Flash Player 9, AIR 1.1

Dispatched when the mouse pointer rolls over a menu item.

The MenuEvent.ITEM_ROLL_OVER type constant indicates that the mouse pointer rolled over a menu item.

The properties of the event object for this event type have the following values. Not all properties are meaningful for all kinds of events. See the detailed property descriptions for more information.

Property | Value
--- | ---
`bubbles` | false
`cancelable` | true
`currentTarget` | The Object that defines the event listener that handles the event. For example, if you use `myButton.addEventListener()` to register an event listener, myButton is the value of the `currentTarget`.
`index` | The index in the menu of the menu item that was rolled over.
`item` | The item in the dataProvider associated with the rolled over menu item.
`itemRenderer` | The ListItemRenderer of the menu item that was rolled over.
`label` | The label text of the menu item that was rolled over.
`menu` | The specific Menu instance associated with this event, or `null` if a MenuBar item is dispatching the event.
`menuBar` | The MenuBar instance that is the parent of the Menu control, or `null` if the Menu control is not parented by a MenuBar control.
`target` | The Object that dispatched the event; it is not always the Object listening for the event. Use the `currentTarget` property to always access the Object listening for the event.
`type` | MenuEvent.ITEM_ROLL_OVER

menuHide | Event |

Event Object Type: `mx.events.MenuEvent`
MenuEvent.type property = `mx.events.MenuEvent.MENU_HIDE`

Language Version : | ActionScript 3.0

Product Version : | Flex 3

Runtime Versions : | Flash Player 9, AIR 1.1

Dispatched when a pop-up submenu closes.

The MenuEvent.MENU_HIDE event type constant indicates that a menu or submenu closed.

The properties of the event object for this event type have the following values. Not all properties are meaningful for all kinds of events. See the detailed property descriptions for more information.

Property | Value
--- | ---
`bubbles` | false
`cancelable` | true
`currentTarget` | The Object that defines the event listener that handles the event. For example, if you use `myButton.addEventListener()` to register an event listener, myButton is the value of the `currentTarget`.
`index` | -1. This property is not set for this type of event.
`item` | null. This property is not set for this type of event.
`itemRenderer` | null. This property is not set for this type of event.
`label` | null. This property is not set for this type of event.
`menu` | The specific Menu instance associated with this event, or `null` if a MenuBar item is dispatching the event.
`menuBar` | The MenuBar instance that is the parent of the Menu control, or `null` if the Menu control is not parented by a MenuBar control.
`target` | The Object that dispatched the event; it is not always the Object listening for the event. Use the `currentTarget` property to always access the Object listening for the event.
`type` | MenuEvent.MENU_HIDE

menuShow | Event |

Event Object Type: `mx.events.MenuEvent`
MenuEvent.type property = `mx.events.MenuEvent.MENU_SHOW`

Language Version : | ActionScript 3.0

Product Version : | Flex 3

Runtime Versions : | Flash Player 9, AIR 1.1

Dispatched when a pop-up submenu opens, or the user selects a menu bar item with no drop-down menu.

The MenuEvent.MENU_SHOW type constant indicates that the mouse pointer rolled a menu or submenu opened.

The properties of the event object for this event type have the following values. Not all properties are meaningful for all kinds of events. See the detailed property descriptions for more information.

Property | Value
--- | ---
`bubbles` | false
`cancelable` | true
`currentTarget` | The Object that defines the event listener that handles the event. For example, if you use `myButton.addEventListener()` to register an event listener, myButton is the value of the `currentTarget`.
`index` | -1. This property is not set for this type of event.
`item` | null. This property is not set for this type of event.
`itemRenderer` | null. This property is not set for this type of event.
`label` | `null. This property is not set for this type of event.`
`menu` | The specific Menu instance associated with this event, or `null` if a MenuBar item is dispatching the event.
`menuBar` | The MenuBar instance that is the parent of the Menu control, or `null` if the Menu control is not parented by a MenuBar control.
`target` | The Object that dispatched the event; it is not always the Object listening for the event. Use the `currentTarget` property to always access the Object listening for the event.
`type` | MenuEvent.MENU_SHOW

Examples
MenuBarExample.mxml

    <?xml version="1.0" encoding="utf-8"?>
    <!--

      Licensed to the Apache Software Foundation (ASF) under one or more
      contributor license agreements.  See the NOTICE file distributed with
      this work for additional information regarding copyright ownership.
      The ASF licenses this file to You under the Apache License, Version 2.0
      (the "License"); you may not use this file except in compliance with
      the License.  You may obtain a copy of the License at

          http://www.apache.org/licenses/LICENSE-2.0

      Unless required by applicable law or agreed to in writing, software
      distributed under the License is distributed on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
      See the License for the specific language governing permissions and
      limitations under the License.

    -->
    <!-- Simple example to demonstrate the Halo MenuBar control. -->
    <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
            xmlns:s="library://ns.adobe.com/flex/spark"
            xmlns:mx="library://ns.adobe.com/flex/mx"
            initialize="initCollections();">

        <fx:Script>
            <![CDATA[
                import mx.collections.*;
                import mx.controls.Alert;
                import mx.events.MenuEvent;

                [Bindable]
                public var menuBarCollection:XMLListCollection;

                private var menubarXML:XMLList =
                    <>
                        <menuitem label="Menu1" data="top">
                            <menuitem label="MenuItem 1-A" data="1A"/>
                            <menuitem label="MenuItem 1-B" data="1B"/>
                        </menuitem>
                        <menuitem label="Menu2" data="top">
                            <menuitem label="MenuItem 2-A" type="check" data="2A"/>
                            <menuitem type="separator"/>
                            <menuitem label="MenuItem 2-B" >
                                <menuitem label="SubMenuItem 3-A" type="radio"
                                    groupName="one" data="3A"/>
                                <menuitem label="SubMenuItem 3-B" type="radio"
                                    groupName="one" data="3B"/>
                            </menuitem>
                        </menuitem>
                    </>;

                // Event handler to initialize the MenuBar control.
                private function initCollections():void {
                    menuBarCollection = new XMLListCollection(menubarXML);
                }

                // Event handler for the MenuBar control's itemClick event.
                private function menuHandler(evt:MenuEvent):void  {
                    // Don't open the Alert for a menu bar item that
                    // opens a popup submenu.
                    if (evt.item.@data != "top") {
                        Alert.show("Label: " + evt.item.@label + "\n" +
                            "Data: " + evt.item.@data, "Clicked menu item");
                    }
                }
             ]]>
        </fx:Script>

        <s:Panel title="Halo MenuBar Control Example"
                width="75%" height="75%"
                horizontalCenter="0" verticalCenter="0">
            <s:VGroup left="10" right="10" top="10" bottom="10">
                <s:Label width="100%" color="blue" text="Select a menu item."/>

                <mx:MenuBar labelField="@label" itemClick="menuHandler(event);"
                        dataProvider="{menuBarCollection}" />
            </s:VGroup>
        </s:Panel>

    </s:Application>

Sun Mar 5 2017, 03:42 PM +11:00