2008-06-13

Flex 开发学习笔记5 - Flex Component 组件开发 - 时间选择

关键字: flex component 时间选择
这一次仍然总结一下Flex Component 组件的开发,在Flex 开发学习笔记3中开发的是一个分页列表的组件,是通过Flex MXML 的定义实现的,这次我来通过Flex 的 ActionScript 来定义一个组件,其实是通过继承的方式实现了一个新的类。



在Flex的组件库中,DateFiled定义了一个选择日期的输入框,默认是英文环境,如果要设置为中文的月份与星期,需要作以下的设置:
        <mx:DateField id="dateField1" yearNavigationEnabled="true" 
        	dayNames="['日','一','二','三','四','五','六']"
        	monthNames="['一月','二月','三月','四月','五月','六月','七月','八月','九月','十月','十一月','十二月']"
        	 formatString="YYYY-MM-DD"/>


如果日期输入的地方比较多,需要每一个DateFiled都要这样定义,应该定义一个适应不同语言环境的日期组件,通过引用这个组件自动设置当前的日期选择。以下就是通过Flex的ActionScript自定义的DateFieldLocal代码,比较简单:
package simples.date
{
	import mx.controls.DateField;
	
	public class DateFieldLocal extends DateField
	{
		
		/** 中文环境标识 **/
		public static var LOCAL_ZH_CN:String = "zh_CN";
		
		public function DateFieldLocal()
		{
			super();
		}
		
		private var _locale : String;
		
		public function get locale():String{
			return _locale;
		}
		
		public function set locale(value:String):void{
			this._locale = value;
			
			//
			initLanguage();
		}
		
		private function initLanguage():void{
			
			if(_locale && _locale.length >0){
				switch(_locale){
					
					case LOCAL_ZH_CN:
						dayNames=['日','一','二','三','四','五','六'] ;
						monthNames=['一月','二月','三月','四月','五月','六月','七月','八月','九月','十月','十一月','十二月'];
						this.formatString="YYYY年MM月DD日";
					break;
					
					//case "zh_HK":					
					//break;
					//default:
					//break;
				}
			}
		}

	}
}


对这个组件的引用:
<user:DateFieldLocal id="dateField2" locale="zh_CN"/>


目前还没有作到根据客户机的语言环境自动设置,如何获得客户机的语言环境信息?还希望有知道的达人给指点一下。
附件中有demo代码。
  • test.rar (844.5 KB)
  • 描述: 安装了 Flex Builder 插件的Eclipse项目工程
  • 下载次数: 46
评论
z.cen 2008-07-26   回复
没用过Flex,准备学习下.
z.cen 2008-07-26   回复
怎么布署和运行啊?
发表评论

您还没有登录,请登录后发表评论

jacally
搜索本博客
我的相册
5225c084-f830-3bfb-89b4-e391c07b2221-thumb
flexlib6-1.jpg
共 27 张
最近加入圈子
存档
最新评论