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;
}
}
}
}
Related examples in the same category