Flash / Flex / ActionScript/TextField/Input Field
Formatting user input
package {
import flash.display.*;
import flash.text.*;
import flash.events.*;
public class Main extends Sprite {
public function Main( ) {
var boldFormat:TextFormat = new TextFormat( );
boldFormat.bold = true;
var italicFormat:TextFormat = new TextFormat( );
italicFormat.italic = true;
var t:TextField = new TextField( );
t.text = "lunchtime";
t.setTextFormat(italicFormat, 0, 5);
t.setTextFormat(boldFormat, 5, 9);
t.type = TextFieldType.INPUT;
t.addEventListener(TextEvent.TEXT_INPUT, textInputListener);
addChild(t);
}
private function textInputListener (e:TextEvent):void {
var t:TextField = TextField(e.target);
e.preventDefault( );
t.replaceText(t.caretIndex, t.caretIndex, e.text);
var regularFormat:TextFormat = new TextFormat( );
regularFormat.bold = false;
regularFormat.italic = false;
t.setTextFormat(regularFormat,
t.caretIndex,
t.caretIndex+e.text.length)
var newCaretIndex:int = t.caretIndex + e.text.length;
t.setSelection(newCaretIndex, newCaretIndex);
}
}
}
Making a User Input Field
package {
import flash.display.Sprite;
import flash.text.TextField;
import flash.text.TextFieldType;
public class Main extends Sprite {
public function Main( ) {
var field:TextField = new TextField( );
field.type = TextFieldType.INPUT;
field.border = true;
field.background = true;
addChild(field);
}
}
}