<< 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.
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.
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.
I will publish a list containing links to ActionScript resources as a separate document. Search for ActionScript Resources in theConnexions search box.
Complete listings of the programs discussed in this lesson are provided in Listing 14 through Listing 16.
<?xml version="1.0" encoding="utf-8"?><mx:Application
xmlns:mx="http://www.adobe.com/2006/mxml"xmlns:cc="CustomClasses.*"><cc:Driver/></mx:Application>
//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
Notification Switch
Would you like to follow the 'Object-oriented programming (oop) with actionscript' conversation and receive update notifications?