`
kongshanxuelin
  • 浏览: 931124 次
  • 性别: Icon_minigender_1
  • 来自: 宁波
社区版块
存档分类
最新评论

Flex 3学习笔记

阅读更多
  • 加入SharedObject
  • CSS Style学习
  • 系统信息判断
  • Timer例子

源码如下:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Style>
	Button {
   cornerRadius: 10;
   highlightAlphas: 0.44, 0;
   fillColors: #ffffff, #0099ff, #ffffff, #ffffff;
   textRollOverColor: #0000ff;
   themeColor: #000000;
}
</mx:Style>
<mx:Script>
	<![CDATA[
		import com.velloff.utils.JDBCBean;
		import flash.net.registerClassAlias;
		import mx.controls.Alert;
		internal function btnXMLClick(evtObj:Event){
			var xml:XML=<company>
							<name>空山雪林工作室</name>
							<description>学习测试用的</description>
							<person no="1001">
								<name>cxlh</name>
								<job>manager</job>
							</person>
							<person no="1002">
								<name>otherone</name>
								<job>designer</job>
							</person>							
						</company>;
			appendText("得到工号为1001的雇员:\n<font color='#0000FF'>"+xml.person.(@no=="1001").name+"</font>");
			var onePerson:XML = <person no="1003"><name>thd_one</name><job>developer</job></person>
			xml.person +=onePerson;	
			appendText("新增工号为1003的雇员后:\n<font color='#0000FF'>"+escapeHTML(xml.toXMLString())+"</font>");		
			delete xml.person[2];
			appendText("删除工号为1003的雇员后:\n<font color='#0000FF'>"+escapeHTML(xml.toXMLString())+"</font>");
		}
		private function byCustemer(valueA:*,valueB:*):Number
		{
			if(valueA == valueB) return 0;
			else if(valueA < valueB) return -1;
			else return 1;
		}
		
		internal function btnArrayClick(evtObj:Event){
			var array:Array = [1,2,3,4,7];
			array.splice(2,1);
			appendText("原数组数据:<b>1,2,3,4,7</b>");
			appendText("删除数组中的第三个元素后:<b>"+array.join(",").toString()+"</b>");
			var z:Array=array.slice(0,2);
			appendText("得到数组第1,2个元素:<b>"+z.join(",").toString()+"</b>");
			array.push(10);
			appendText("原数组新增一个数10后:<b>"+array.join(",").toString()+"</b>");
			var sortArray:Array=array.sort(Array.DESCENDING|Array.NUMERIC);
			appendText("逆序排列后:<b>"+array.toString()+"</b>");
			array.sort(byCustemer,Array.DESCENDING);
			appendText("自定义排列规则后:<b>"+array.toString()+"</b>");
		}
		
		internal function btnDictClick(evtObj:Event){
			var dict:Dictionary = new Dictionary();
			dict["one"] = 1;
			dict["tow"] = 2;
			appendText("词典中目前有:one:1,two:2,判断one结果:");
			if("one" in dict){
				appendText("词典中有:"+dict["one"]);
			}
		}
		
		function sum(... numbers):Number{
			var result:Number = 0;
			for each(var num:Number in numbers){
				result += num;
			}
			return result;
		}
		
		function fact(i:uint){
			if(i==0)
				return 1;
			else
				return (i*fact(i-1));
		}
		
		internal function btnFuncClick(evtObj:Event){
			appendText("...操作符演示:\n<b>1+2+3="+sum(1,2,3)+"</b>,<b>"+"4+5="+sum(4,5)+"</b>");
			appendText("递归阶乘演示:<b>10!="+fact(10)+"</b>");
		}
		internal function btnRegClick(evtObj:Event){
			var oStr:String = "<font color='#0000FF'>一个串</font><font color='#FF0000'>另外一串</font>";
			appendText("原始操作字符串:"+escapeHTML(oStr));
			var reg1:RegExp = /<font color='#0000FF'>(.*)<\/font>/g;
			var reg2:RegExp = /<font color='#0000FF'>(.*?)<\/font>/g;
			appendText("正则表达式"+escapeHTML(reg1.toString())+"结果(贪婪模式):<b>"+escapeHTML(reg1.exec(oStr)[0])+"</b>");
			appendText("正则表达式"+escapeHTML(reg2.toString())+"结果(非贪婪模式)<b>:"+escapeHTML(reg2.exec(oStr)[0])+"</b>");			
		}
		internal function btnFlashVersionClick(evtObj:Event){
			var ver:String = flash.system.Capabilities.version;
			var os:String = flash.system.Capabilities.os;
			var fType:String = flash.system.Capabilities.playerType;
			var lang:String = flash.system.Capabilities.language;
			appendText("Flash版本:<b>"+ver+"</b> 操作系统:<b>"+os+"</b> 播放器类型:<b>"+fType+"</b> 系统语言:<b>"+
			lang+"</b> 输入法编辑器:<b>"+flash.system.IME.enabled.toString()+"</b> 分辨率:<b>"+
			flash.system.Capabilities.screenResolutionX+"X"+flash.system.Capabilities.screenResolutionY+"</b>"+
			" 是否有音频设备:<b>"+flash.system.Capabilities.hasAudio+"</b> MP3解码器:<b>"+flash.system.Capabilities.hasMP3+
			"</b> 是否播放流式视频:<b>"+flash.system.Capabilities.hasStreamingVideo+"</b> 视频流编码:<b>"+flash.system.Capabilities.hasVideoEncoder+
			"</b>");
		}
		internal function btnTimerClick(evtObj:Event){
			var timer:Timer = new Timer(3000);
			timer.addEventListener(TimerEvent.TIMER, onTimer);
			timer.start();
		}
		internal function btnShareObjectClick(evtObj:Event){
			registerClassAlias("com.velloff.utils.JDBCBean",JDBCBean);
			var his:SharedObject = SharedObject.getLocal("storage");
			for each(var ss in his.data){
					if(ss is JDBCBean){
						appendText("访问到jdbc的共享对象数据为:<i>"+(ss as JDBCBean).toString()+"</i>");										
					}
			}
			if(txtInput.text == "") return;
			var jdbc:JDBCBean = new JDBCBean();
			jdbc.driver = "mydriver";
			jdbc.url = "myurl";
			jdbc.username = txtInput.text;
			jdbc.password = "mypwd";
			his.data[txtInput.text] = jdbc;
			appendText("设置jdbc为:<b>"+jdbc.toString()+"</b>");
		}
		internal function btnShareObjectDeleteClick(evtObj:Event){
			var his:SharedObject = SharedObject.getLocal("storage");
			his.clear();
			his.flush();
		}
		private function onTimer(event:TimerEvent):void {
		    appendText("3秒过去了...");
		}		
		internal function btnGraphClick(evtObj:Event){
			var spr:Sprite = new Sprite();
			spr.graphics.beginFill(0xffffff,0.5);
			spr.graphics.lineStyle(1,0xcccccc);
			spr.graphics.drawRect(10,10,50,50);
			spr.graphics.endFill();
			spr.addEventListener(MouseEvent.MOUSE_OVER,inRect);
			spr.addEventListener(MouseEvent.MOUSE_OUT,outRect);
			spr.addEventListener(MouseEvent.MOUSE_DOWN,mouseDown);
			spr.addEventListener(MouseEvent.MOUSE_UP,mouseUp);
			mylog.addChild(spr);
		}
		private function mouseDown(me:MouseEvent):void
		{
			(me.target as Sprite).startDrag();
		}
		private function mouseUp(me:MouseEvent):void
		{
			var t:Sprite = me.target as Sprite;
			t.stopDrag();
			appendText("拖放结束!");
		}
		private function inRect(fe:MouseEvent):void
		{
			if(fe.target is Sprite){
				var s:Sprite = (fe.target as Sprite);
				s.alpha = 0.5;
			}
		}
		private function outRect(fe:MouseEvent):void
		{
			if(fe.target is Sprite){
				var s:Sprite = (fe.target as Sprite);
				s.alpha = 1.0;
			}			
		}
		internal function setLogScroll() : void
		{
			mylog.verticalScrollPosition = mylog.maxVerticalScrollPosition;
		}
		internal function appendText(str:String):void
		{
			mylog.htmlText += (mylog.htmlText==""?"":"\n") + str ;
			callLater(setLogScroll);
		}		
		function escapeHTML(str:String){
			return str.replace(/</g,"<").replace(/>/g,">");
		}
	]]>
</mx:Script>
	<mx:Button x="10" y="10" label="XML操作演示程序" fontSize="12" id="btnXML" click="btnXMLClick(event)"/>
	<mx:Button x="150" y="10" label="Array操作演示程序" fontSize="12" id="btnArray" click="btnArrayClick(event)"/>
	<mx:Button x="12" y="42" label="词典操作演示程序" fontSize="12" id="btnDict" click="btnDictClick(event)"/>
	<mx:Button x="150" y="42" label="函数相关操作演示程序" fontSize="12" id="btnFunc" click="btnFuncClick(event)"/>
	<mx:TextArea width="100%" height="180" id="mylog" x="10" y="117" fontSize="12"/>
	<mx:Button x="299" y="10" label="正则表达式演示程序" fontSize="12" id="btnReg" click="btnRegClick(event)"/>
	<mx:Button x="450" y="10" label="DisplayObject演示程序" fontSize="12" id="btnGraph" click="btnGraphClick(event)"/>
	<mx:Button x="314" y="42" label="系统信息" fontSize="12" id="btnFlashVersion" click="btnFlashVersionClick(event)"/>
	<mx:Button x="404" y="42" label="Timer学习" fontSize="12" id="btnTimer" click="btnTimerClick(event)"/>
	<mx:Button x="12" y="85" label="ShareObject" fontSize="12" id="btnShareObject" click="btnShareObjectClick(event)"/>
	<mx:TextInput id="txtInput" x="129" y="87" restrict="[a-z|0-9]" toolTip="输入jdbc用户名并作为sharedObject索引" width="89"/>
	<mx:Button x="231" y="85" label="全部清空ShareObject" fontSize="12" id="btnShareObjectDelete" click="btnShareObjectDeleteClick(event)"/>
	
</mx:Application>
 
2
0
分享到:
评论

相关推荐

    flex学习笔记

    ### Flex 学习笔记知识点详解 ...以上总结了 Flex3 学习笔记中的关键知识点,涵盖从基础概念到高级应用的各个方面。通过系统学习这些内容,可以帮助开发者全面掌握 Flex 技术,并能够运用其构建高质量的 RIA 应用程序。

    Flex AS3学习笔记总结

    Flex AS3 学习笔记总结 Flex 是 Adobe 开发的 RIA(Rich Internet Applications)工具,包括 Flex3 SDK、Flex Builder 和服务器产品,如 Lifestyle Data Services、CodeFushion。Flex 应用程序用 Flash.swf 文件...

    flex学习笔记 flex学习总结 flex学习教程

    本教程是作者精心编写的Flex学习资料,适合初学者入门,通过图文并茂的方式,帮助读者快速掌握Flex的基本概念和核心技能。 1. **Flex基础**:Flex提供了MXML和ActionScript两种编程方式。MXML是一种声明式语言,...

    flex actionscript学习笔记

    Flex ActionScript 学习笔记是关于使用Adobe Flex技术并结合ActionScript 3.0进行开发的知识总结。ActionScript 3.0是随着Flash CS3一起推出的一种强大的编程语言,相较于之前的ActionScript版本,它有着显著的提升...

    Flex学习笔记-基本语法

    在本文中,我们将深入探讨Flex学习过程中的基础语法,特别是从AS2到AS3的变化。 首先,ActionScript 3(AS3)是AS的一个重大升级,它引入了完全的面向对象编程(OOP)概念。这意味着AS3具有类、继承、封装和多态性...

    FLEX学习笔记

    《FLEX学习笔记》 FLEX,全称为Flex Builder,是由Adobe公司开发的一款基于MXML和ActionScript的开源框架,用于构建富互联网应用程序(RIA)。它允许开发者创建具有交互性、响应性和丰富用户体验的Web应用。FLEX的...

    Away3D_4.1+Flex4.7学习笔记+案例

    《Away3D_4.1+Flex4.7学习笔记与案例解析》 Away3D是一个强大的开源3D引擎,专为Adobe Flash平台设计,它允许开发者创建丰富的、交互式的三维应用程序。本学习笔记结合Flex4.7框架,将深入探讨如何在Flash平台上...

    Flex学习笔记.rar

    本压缩包“Flex学习笔记.rar”显然是一份针对初学者的教程资料,旨在帮助新接触Flex的开发者快速上手。 在“FlexBeginner.pdf”这份文档中,你可以期待找到以下关键知识点: 1. **Flex概述**:介绍Flex技术的基本...

    Flex 开发学习笔记6.1 - 创建 Flex Library Project

    Flex开发学习笔记6.1主要聚焦于创建Flex Library Project,这是一种在Adobe Flex开发环境中构建可重用组件的方式。Flex Library Project允许开发者创建自定义组件,这些组件可以被多个应用程序共享,提高了代码复用...

    flex 学习详细笔记

    Flex是Adobe公司开发的一种用于构建富互联网应用程序(RIA)的技术,它主要基于ActionScript和MXML。本笔记将深入探讨Flex的基本概念、架构...希望这份笔记能对Flex爱好者提供实质性的帮助,祝你在学习过程中取得成功!

    Flex 开发学习笔记6.2 - 引用自定义的 Flex Library Project

    3. **项目依赖**:如果你的开发环境支持,你还可以直接将Flex Library Project作为项目依赖添加。这样,当库项目更改时,主应用项目会自动编译,无需手动更新SWC。 在“MyFlexProj”这个例子中,我们可以假设它是一...

    flex4.5学习笔记

    ### Flex4.5学习笔记知识点总结 #### 一、Flex基础——布局 **知识点1:Flex布局** - **垂直布局** (`s:VerticalLayout`): 控件垂直排列。 - **水平布局** (`s:HorizontalLayout`): 控件水平排列。 - **平铺布局**...

    FLEX4学习笔记,提供源代码,还有图。

    FLEX4学习笔记,提供源代码,还有图。相当详细。

    Flex学习笔记(flex必知必会).doc

    Flex学习笔记(flex必知必会).docFlex学习笔记(flex必知必会).doc

    Flex学习笔记

    这篇“Flex学习笔记”可能是作者在深入研究Flex技术过程中整理的心得体会和实践案例,结合了《Flex3权威指南》这本书的内容。 在Flex中,ActionScript是核心编程语言,它是基于ECMAScript的一个版本,专门针对富...

    Flex 开发学习笔记4 - 应用分页列表组件

    Flex开发学习笔记4主要关注的是如何在Flex应用中实现分页列表组件,这对于构建大型数据展示界面至关重要。Flex是一个开源的、基于ActionScript的框架,用于创建富互联网应用程序(RIA)。在这里,我们不仅会探讨Flex...

    flex学习笔记,技巧学习

    根据提供的信息,我们可以总结出以下关于Flex学习笔记中的关键技术知识点: ### 1. Flex 基础设置 在Flex开发中,通常会涉及到基础样式的设置。例如,在给定的部分内容中提到了字体大小、颜色及背景色的设置。虽然...

    Flex学习笔记-由浅入深

    Flex是Adobe公司推出的一种用于构建富互联网...随着对Flex的深入学习,开发者将掌握更多高级特性,如数据绑定、动画效果、组件自定义以及与后端服务器的深度集成等,从而能够创建出更复杂、功能丰富的富互联网应用。

    Flex学习笔记.doc

    Flex学习笔记概述 Flex是一种由Adobe开发的企业级富互联网应用(RIA)的表示层解决方案,其主要目的是提供高度交互和动态的用户体验。Flex的核心在于它的编程语言MXML和ActionScript(AS),这两种语言结合在一起,...

Global site tag (gtag.js) - Google Analytics