as3.0 中对TextField的小封装,使其成为一个还不错的输入框

package myComponent 
{
	import flash.display.Shape;
	import flash.display.Sprite;
	import flash.text.TextField;
	import flash.text.TextFieldType;
	import flash.text.TextFormat;
	import flash.text.TextLineMetrics;

	public class MyInput extends Sprite
	{

		private var _myTextField:TextField  = new TextField();//文本框的文本域
		private var mySprite:Sprite = new Sprite();
		private var _defaultValue:String = ‘hello‘;//默认值
		private var _backGroudColor:uint = 0xffffff;//文本框背景颜色  默认为白色
		private var _paddingWidth:uint = 120; //TextField的默认长度
		private var _asPassworldDisplay:Boolean  = false;//是否作为密码框来显示
		private var _borderColor:uint  = 0xD4D4D4;//输入边框颜色
		private var _bordersize:uint = 1;//输入边框大小
		private var _paddingHorizontalVal:uint = 1;//输入边框内TextField与边框的左右距离
		private var _paddingVerticalVal:uint = 2;//输入边框内TextField与边框的上下距离
		private var _borderRadius:uint = 2;//输入边框四个角的圆角半径

		private var _textFontSize:uint = 16; //设置TextField中的字体大小
		private var _textFontColor:uint = 0x000000;//设置TextField中字体颜色
		private var _textFontFamily:String = ‘‘;//设置TextField中的字体
		public function MyInput() 
		{
		}

		private function initTextField():void {
		    this.myTextField.type = TextFieldType.INPUT;//设置TextField是可输入的
			this.myTextField.text = this._defaultValue;//设置TextField的默认输入

		    //设置TextField中的字体
			var myFormat:TextFormat = new TextFormat();
			myFormat.size = this._textFontSize;
			myFormat.color = this._textFontColor;
			if (!this._textFontFamily) {
					myFormat.font = this._textFontFamily;
			}
			this._myTextField.setTextFormat(myFormat);

			//设置TextField的背景颜色
			this.myTextField.background = true;
			this.myTextField.backgroundColor = this._backGroudColor;

			//设置TextField的长宽
			this.myTextField.width = this._paddingWidth ;
			var textLineInfo:TextLineMetrics = this.myTextField.getLineMetrics(0);
			this.myTextField.height  = textLineInfo.ascent +textLineInfo.descent + 4;

			//是否作为密码框来显示
			this.myTextField.displayAsPassword = this._asPassworldDisplay;

			//描绘边框
			var borderShape:Shape = new Shape();
            borderShape.graphics.lineStyle(this._bordersize, this._borderColor);
			borderShape.graphics.drawRoundRect(0, 0, this._paddingWidth+this._paddingHorizontalVal*2, this.myTextField.height +this._paddingVerticalVal*2, this._borderRadius, this._borderRadius);
			this.addChild(borderShape);

			//设置TextField的位置
			this.myTextField.x = this._paddingHorizontalVal;
			this.myTextField.y = this._paddingVerticalVal;

			this.addChild(this._myTextField);
		}

		public function initDraw():void {
			this.initTextField();
		}

		public function get defaultValue():String 
		{
			return _defaultValue;
		}

		public function set defaultValue(value:String):void 
		{
			_defaultValue = value;
		}

		public function get backGroudColor():uint 
		{
			return _backGroudColor;
		}

		public function set backGroudColor(value:uint):void 
		{
			_backGroudColor = value;
		}

		public function get paddingWidth():uint 
		{
			return _paddingWidth;
		}

		public function set paddingWidth(value:uint):void 
		{
			_paddingWidth = value;
		}

		public function get asPassworldDisplay():Boolean 
		{
			return _asPassworldDisplay;
		}

		public function set asPassworldDisplay(value:Boolean):void 
		{
			_asPassworldDisplay = value;
		}

		public function get borderColor():uint 
		{
			return _borderColor;
		}

		public function set borderColor(value:uint):void 
		{
			_borderColor = value;
		}

		public function get bordersize():uint 
		{
			return _bordersize;
		}

		public function set bordersize(value:uint):void 
		{
			_bordersize = value;
		}

		public function get paddingHorizontalVal():uint 
		{
			return _paddingHorizontalVal;
		}

		public function set paddingHorizontalVal(value:uint):void 
		{
			_paddingHorizontalVal = value;
		}

		public function get paddingVerticalVal():uint 
		{
			return _paddingVerticalVal;
		}

		public function set paddingVerticalVal(value:uint):void 
		{
			_paddingVerticalVal = value;
		}

		public function get myTextField():TextField 
		{
			return _myTextField;
		}

		public function set myTextField(value:TextField):void 
		{
			_myTextField = value;
		}

		public function get textFontSize():uint 
		{
			return _textFontSize;
		}

		public function set textFontSize(value:uint):void 
		{
			_textFontSize = value;
		}

		public function get textFontColor():uint 
		{
			return _textFontColor;
		}

		public function set textFontColor(value:uint):void 
		{
			_textFontColor = value;
		}

		public function get textFontFamily():String 
		{
			return _textFontFamily;
		}

		public function set textFontFamily(value:String):void 
		{
			_textFontFamily = value;
		}

	}

}
时间: 2024-08-29 22:02:22

as3.0 中对TextField的小封装,使其成为一个还不错的输入框的相关文章

as3.0中为TextField的文字添加样式

为TextField中文字添加样式的方式有多种,下面只说我常用的一种.通过TextField的htmlText属性及styleSheet属性来为文字添加样式.htmlText可以为文字添加标签,而styleSheet则为标签中添加的class定义样式.自摘代码片段如下: public class Main extends Sprite  { private var userNameInfo:TextField; public function Main()  { this.init(); thi

AS3.0中的三角函数

以下是一些在AS3.0中常用的三角函数.代码如下: trace (Math.tan(45*Math.PI/180));//已知45度角求正切值; trace (Math.atan(1)*180/Math.PI);//已知正切值为1求出角度; trace (Math.sin(30*Math.PI/180));//已知30度角求正弦值; trace (Math.asin(1/2)*180/Math.PI);//已知正弦值0.5求角度; trace (Math.cos(60*Math.PI/180))

as3.0中通过ApplicationDomain类获得被加载swf

as3.0中通过ApplicationDomain类获得被加载swf(转载) 首先先回顾一下FLASH的OO构成.对于FLASH,我们可以把任何的可视化元件都看成某个类文件的具体实例,包括swf文件.我们可以把swf文件看成一个类的具体实例,而它里面拥有个个其他类的实例对象,例如:我们新建一个loaded.fla文件,然后我们建立一个影片剪辑元件,你可以在它的内部做一些动画处理,打开库,单击元件右建,选择“链接”打开“链接属性”,在类的输入框里我们键入“myClass”. 这样一来我们就可以把这

AS3.0中用于网络通信的类总结

0条评论  1.Loader Loader 类可用于加载 SWF 文件或图像(JPG.PNG 或 GIF)文件.也只能是这些对象. 网络协议基础:HTTP/RTMP 加载方法原型:Loader.load(request:URLRequest, context:LoaderContext = null):void 2.URLLoader URLLoader 类以文本.二进制数据或 URL 编码变量的形式从 URL 下载数据. 在下载文本文件.XML 或其它用于动态数据驱动应用程序的信息时,它很有用

ThinkPHP5.0中Redis的使用和封装

Redis是一种常用的非关系型数据库,主要用作数据缓存,数据保存形式为key-value,键值相互映射.它的数据存储跟MySQL不同,它数据存储在内存之中,所以数据读取相对而言很快,用来做高并发非常不错. ThinkPhP5.0自带了Redis扩展,在使用之前先下载php_redis.dll 网址 http://windows.php.net/downloads/pecl/releases/redis/2.2.7/ ;根据自己windows操作系统选择相应的版本,我自己是系统64位,安装的是VC

as3.0 中MovieClip的拖放操作

MovieClip继承了Sprite这个类,这个类中有两个public方法其分别是startDrag与stopDrag,而这两个方法可以让我们方便的去操作Sprite及其子类的实例的拖放. 下面展示在库中有个MovieClip 具体的拖放上面的MovieClip代码如下 import flash.events.MouseEvent; import flash.geom.Point; var dobj:DragObj = new DragObj(); dobj.addEventListener(M

as3.0 TextField中单行文字内容垂直居中

在开头,先首说一下TextField中单行文字空间是怎样的.图如下 从图中可以看到,当为文字设定像素大小时,我们都可以从TextField中的文字空间信息取得两个信息Ascent与Descent,文字空间与边距的2px一般是固定的.所以如果我们想在TextField中单行文字垂直居中的话,可以这样设定TextField的高度为Ascent+Descent+4px.具体在as3.0中的个人实现代码实例如下: package { import fl.controls.Label; import fl

Yii 2.0 中事件的使用

关于PHP的事件处理,参照 http://www.cnblogs.com/mafeifan/p/4322238.html http://www.cnblogs.com/mafeifan/p/4322271.html 为什么要使用事件?可能我们会有下面的业务需求,每当一个新用户注册成功会我们要给管理员发封邮件,还要有推送通知. 之前的代码可能是这样 if($model->save()){ // 注册成功, 跳转 } 要变成这样 if($model->save()){ $mailObj->s

在 Flash ActionScript 2.0 中调用 Javascript 方法

本篇文章由:http://xinpure.com/call-the-javascript-method-in-flash-actionscript-2-0/ 在 Flash ActionScript 2.0 中调用 Javascript 方法 最近在工作中,有个这样的需求: 要从 Flash ActionScript 2.0 中调用网页上的 Javascript 方法 这是一个关于 Flash 和 Javascript 交互的问题. 在 ActionScript 2.0 中调用外部 javasc