Macromedia flex 2 Manuale

Pagina di 254
Adding properties and methods to a component
129
The following example code defines a component named TextAreaFontControlGetSet that 
replaces the public property definition for the 
maxFontSize
 property shown in 
package myComponents
{
    // as/myComponents/TextAreaFontControlGetSet.as    
    import mx.controls.TextArea;
    import flash.events.KeyboardEvent;
    import flash.events.Event;
    
    public class TextAreaFontControlGetSet extends TextArea 
    {
        public function TextAreaFontControlGetSet() 
        {
            super();
            addEventListener("keyDown", myKeyDown);     
            addEventListener("creationComplete", myCreationComplete);       
        }       
        private var currentFontSize:Number;
        public var minFontSize:Number = 5;      
        // Define private variable for maxFontSize.
        public var _maxFontSize:Number = 15;
            
        // Define public getter method.
        public function get maxFontSize():Number {
            return _maxFontSize;
        }
                
        // Define public setter method.
        public function set maxFontSize(value:Number):void {
            if (value <= 30) {
                _maxFontSize = value;
            } else _maxFontSize = 30;
        }
        
        private function myCreationComplete(eventObj:Event):void {           
            // Get current font size
             currentFontSize = getStyle('fontSize');
        }
        // keyDown event handler.
        private function myKeyDown(eventObj:KeyboardEvent):void {   
            // Was Ctrl key pressed?
            if (eventObj.ctrlKey) 
            {                       
                switch (eventObj.keyCode) {
                    // Was Ctrl-I pressed?