Mega Code Archive

 
Categories / Flex / Components
 

How the PopUpMenuButton generates events and how an application can handle them

<!-- Code from Flex 4 Documentation "Using Adobe Flex 4". This user guide is licensed for use under the terms of the Creative Commons Attribution  Non-Commercial 3.0 License.  This License allows users to copy, distribute, and transmit the user guide for noncommercial  purposes only so long as    (1) proper attribution to Adobe is given as the owner of the user guide; and    (2) any reuse or distribution of the user guide contains a notice that use of the user guide is governed by these terms.  The best way to provide notice is to include the following link.  To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/ --> <!-- menus/PopUpMenuButtonEvents.mxml --> <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"     height="600" width="600" creationComplete="initData();">     <fx:Script>                    import mx.events.*;          import mx.controls.*;          // Set the Inbox (fourth) item in the menu as the button item.          private function initData():void {              Menu(p1.popUp).selectedIndex=3;          }          // itemClick event handler, invoked when you select from the menu.          // Shows the event's label, index properties, and the values of the          // label and data fields of the data provider entry specified by          // the event's item property.          public function itemClickHandler(event:MenuEvent):void {              Alert.show("itemClick event label: " + event.label                  + " \nindex: " + event.index                  + " \nitem.label: " + event.item.label                  + " \nitem.data: " + event.item.data);          }          //Click event handler for the main button.          public function clickHandler(event:MouseEvent):void {              Alert.show(" Click Event currentTarget.label: " + event.currentTarget.label);          }          //The menu data provider          [Bindable]          public var menuDP:Array = [              {label: "Inbox", data: "inbox"},              {label: "Calendar", data: "calendar"},              {label: "Sent", data: "sent"},              {label: "Deleted Items", data: "deleted"},              {label: "Spam", data: "spam"}          ];        </fx:Script>     <mx:PopUpMenuButton id="p1" showRoot="true"         dataProvider="{menuDP}" click="clickHandler(event);" itemClick="itemClickHandler(event);" /> </s:Application>