I would like to create a basic component consisting of a textbox and a label next to it (in other words an InputText and a StaticText).
I only need to set and get the text in the Input textbox, the static text will stay as is.
Any help would be highly appreciated! Jasco
This sounds a bit vague.
You could have two TextFields inside a Sprite, something like:
package {
import flash.display.*;
import flash.text.*;
/**
* @author georgeprofenza
*/
public class FormItem extends Sprite {
private var _label:TextField;
private var _input:TextField;
public function FormItem() {
init();
}
private function init():void{
_label = new TextField();
_label.defaultTextFormat = new TextFormat('Arial',12,0x000000);
_label.selectable = false;
_input = new TextField();
_input.defaultTextFormat = new TextFormat('Arial',12,0x000000);
_input.type = TextFieldType.INPUT;
_input.border = true;
_input.x = _label.width + 5;
addChild(_label);
addChild(_input);
}
public function get labelText():String{
return _label.text;
}
public function get inputText():String{
return _input.text;
}
public function set labelText(text:String):void{
_label.text = text;
_input.x = _label.width + 5;
}
public function set inputText(text:String):void{
_input.text = text;
}
}
}
Or you could go the full length and develop a proper flash component, this where this long article will come in handy.
The Yahoo! Astra components library has some nice components you could use though.
The 'easiest' version is to use a Label and TextInput component, place them inside a MovieClip and create a Component Definition:
Link the defined properties to the components with a bit of actionscript:
if(this.label) labelComponent.text = this.label; if(this.input) inputComponent.text = this.input;
Goodluck!