<< Chapter < Page Chapter >> Page >

Identify the button that dispatched the event

Listing 12 extracts and uses the target property of the incoming MouseEvent object to identify which of the six buttons dispatched the click event that caused the method to be executed.

Call a corresponding method on the Resize object

For each of the first five buttons shown in Figure 4, Listing 12 calls a corresponding method from the above list on the Resize object. (Note that clicking the Start button causes the Start button to be disabled by the code in Listing 12. Note also that none of the buttons call the stop method from the above list.)

Service the Reset button

The sixth button, labeled Reset also calls the end method from the above list to cause the effect to immediately jump to the end. Then itexecutes some additional code to restore the image to its original size and to re-enable the Start button.

Service the creationComplete event dispatched by the Panel

That brings us to the final event handler method and the end of the program. The method shown in Listing 13 is executed when the Panel dispatches a creationComplete event.

Event handler for the creationcomplete event dispatched by the panel.

private function creationCompleteHandler( event:FlexEvent):void{textOut.text += "\nCreation Complete!"; } //end event handler

As you saw in Figure 4, the code in this method causes the text "Creation Complete!" to be displayed in the text area when the Panel and all of its children have been created, initialized, and drawn.

Run the program

I encourage you to run this program from the web. Then copy the code from Listing 14 through Listing 16. Use thatcode to create Flex projects. Compile and run the projects. Experiment with the code, making changes, and observing the results of yourchanges. Make certain that you can explain why your changes behave as they do.

Resources

I will publish a list containing links to ActionScript resources as a separate document. Search for ActionScript Resources in theConnexions search box.

Complete program listings

Complete listings of the programs discussed in this lesson are provided in Listing 14 through Listing 16.

The common mxml code.

<?xml version="1.0" encoding="utf-8"?><mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"xmlns:cc="CustomClasses.*"><cc:Driver/></mx:Application>

Driver class for activateevent01.

//Illustrates the activate and deactivate events of the // EventDispatcher class. Must run in debug mode to see// the text output. // Click on the browser to cause the Flash player// to gain focus and fire an activate event. // Click on the desktop to cause the Flash player to// lose focus and fire a deactivate event. package CustomClasses{import flash.events.Event; import mx.containers.VBox;import mx.controls.Label;public class Driver extends VBox{ public function Driver(){setStyle("borderStyle","inset"); setStyle("borderColor",0xFF0000);height=100;var label:Label = new Label(); label.text = "Click browser in debug mode"label.setStyle("color",0xFFFF00); addChild(label);addEventListener(Event.ACTIVATE,activateHandler);addEventListener(Event.DEACTIVATE, deActivateHandler);}//end constructorprivate function activateHandler(event:Event):void{trace("\nActivated\ncurrentTarget = " + event.currentTarget+ "\ntarget = " + event.target);}//end activateHandlerprivate function deActivateHandler(event:Event):void{ trace("\nDeactivated\ncurrentTarget = "+ event.currentTarget + "\ntarget = "+ event.target); }//end deActivateHandler}//end class }//end package

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Object-oriented programming (oop) with actionscript. OpenStax CNX. Jun 04, 2010 Download for free at http://cnx.org/content/col11202/1.19
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Object-oriented programming (oop) with actionscript' conversation and receive update notifications?

Ask