0 flash actionscript-3 custom-component flash-v3-components
我想创建一个基本组件,由一个文本框和旁边的标签组成(换句话说,一个InputText和一个StaticText).
我只需要在Input文本框中设置并获取文本,静态文本将保持原样.
任何帮助将非常感谢!的Jasco
这听起来有点模糊.
你可以在Sprite中有两个TextFields,例如:
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;
}
}
}
Run Code Online (Sandbox Code Playgroud)
或者你可以全力以赴开发一个合适的闪存组件,这篇文章将会派上用场.
在雅虎 Astra组件库有一些很好的组件,你可以使用它们.
"最简单"的版本是使用Label和TextInput组件,将它们放在MovieClip中并创建组件定义:




使用一些actionscript将定义的属性链接到组件:
if(this.label)labelComponent.text = this.label; if(this.input)inputComponent.text = this.input;
祝好运!