Flash / Flex / ActionScript/TextField/Event

Материал из Web эксперт
Перейти к: навигация, поиск

Add change event to TextField

 
package {
  import flash.display.*;
  import flash.events.*;
  import flash.text.*;
  public class Main extends Sprite {
    private var inputfield:TextField = new TextField(  );
    public function Main() {
      inputfield.text = "";
      inputfield.width  = 150;
      inputfield.height = 30;
      inputfield.border     = true;
      inputfield.background = true;
      inputfield.type = TextFieldType.INPUT;
      addChild(inputfield);
      inputfield.addEventListener(Event.CHANGE, changeListener);
    }
    private function changeListener (e:Event):void {
      trace("event");
    }
  }
}



Synchronizing two TextField objects

 
package {
  import flash.display.*;
  import flash.events.*;
  import flash.text.*;
  public class Main extends Sprite {
    private static const defaultTitle:String ="[No selection]";
    private static const defaultPhotoName:String ="Enter Here";
    private var title:TextField = new TextField(  );
    private var photoname:TextField = new TextField(  );
    public function Main (  ) {
      title.text = defaultTitle;
      title.width  = 350;
      title.height = 25;
      title.border     = true;
      title.background = true;
      title.selectable = false;
      addChild(title);
      photoname.text = defaultPhotoName;
      photoname.width  = 150;
      photoname.height = 30;
      photoname.x = 100;
      photoname.y = 150;
      photoname.border     = true;
      photoname.background = true;
      photoname.type = TextFieldType.INPUT
      addChild(photoname);

      photoname.addEventListener(Event.CHANGE, changeListener);
      photoname.addEventListener(FocusEvent.FOCUS_IN, photoFocusInListener);
      photoname.addEventListener(FocusEvent.FOCUS_OUT,
                                 photoFocusOutListener);
      stage.addEventListener(FocusEvent.FOCUS_OUT, panelFocusOutListener);
    }
    private function changeListener (e:Event):void {
      if (photoname.text.length == 0) {
        title.text = "Unnamed Photo]";
      } else {
        title.text = "[" + photoname.text + "]";
      }
    }
    private function photoFocusInListener (e:FocusEvent):void {
      if (photoname.text == defaultPhotoName) {
        photoname.text = "";
        title.text = "Photo Viewer [Unnamed Photo]";
      } else {
        title.text = "Photo Viewer [" + photoname.text + "]";
      }
    }
    private function photoFocusOutListener (e:FocusEvent):void {
      if (photoname.text.length == 0) {
        photoname.text = defaultPhotoName;
      }
    }
    private function panelFocusOutListener (e:FocusEvent):void {
      if (e.relatedObject == null) {
        title.text = defaultTitle;
      }
    }
  }
}