- 浏览: 1131367 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (411)
- Java Foundation (41)
- AI/机器学习/数据挖掘/模式识别/自然语言处理/信息检索 (2)
- 云计算/NoSQL/数据分析 (11)
- Linux (13)
- Open Source (12)
- J2EE (52)
- Data Structures (4)
- other (10)
- Dev Error (41)
- Ajax/JS/JSP/HTML5 (47)
- Oracle (68)
- FLEX (19)
- Tools (19)
- 设计模式 (4)
- Database (12)
- SQL Server (9)
- 例子程序 (4)
- mysql (2)
- Web Services (4)
- 面试 (8)
- 嵌入式/移动开发 (18)
- 软件工程/UML (15)
- C/C++ (7)
- 架构Architecture/分布式Distributed (1)
最新评论
-
a535114641:
LZ你好, 用了这个方法后子页面里的JS方法就全不能用了呀
页面局部刷新的两种方式:form+iframe 和 ajax -
di1984HIT:
学习了,真不错,做个记号啊
Machine Learning -
赵师傅临死前:
我一台老机器,myeclipse9 + FB3.5 可以正常使 ...
myeclipse 10 安装 flash builder 4.6 -
Wu_Jiang:
触发时间在将来的某个时间 但是第一次触发的时间超出了失效时间, ...
Based on configured schedule, the given trigger will never fire. -
cylove007:
找了好久,顶你
Editable Select 可编辑select
Adobe Flex 4 官方资料库:
http://help.adobe.com/en_US/flex/using/index.html
http://www.adobe.com/devnet/flex/documentation.html
Creating Flex projects:
http://livedocs.adobe.com/flex/3/html/help.html?content=projects_3.html
开发中时,swf文件被浏览器缓存是个很头疼的问题。
index.template.html中加入以下语句,可以确保编译生成的swf文件在浏览器中不会被缓存,每刷新一次浏览器,都会重新load swf文件:
Flex 4 "Bug" 汇总:
一 FB的bug:将felx项目交给svn管理后,当重新编译flex代码时,html-template目录下的.svn也会被全盘输出到output folder;最终导致当提交output folder,结果提交到了felx源码目录的html-template目录下!!!:
http://forums.adobe.com/message/55988
上面链接中说在Flex Builder 3 Beta 3中已解决;可是事实是我遇到这种问题用的是FB4!
暂时采用的临时解决办法:
flex源码目录下的html-template目录,不要纳入svn管理!
二 Vo中有这样一个set方法:
改进后的代码:
三 s:NavigatorContent标签的visible="false"属性居然不起作用!设为false也好,true也罢,s:NavigatorContent永远显示:
New Flash Builder 4 is out but … old bugs remain:
http://eaigurus.com/blog/?p=195
使用 TabNavigator..getTabAt(idx).visible = false 可以设置s:NavigatorContent的visible为false:
http://wuaner.iteye.com/admin/blogs/1062837
四 flex 4 的 s:ComboBox 的一个bug:当combobox中选择某项后,选择该combobox的textinput中的文本,点击后车backspace,清空该textinput中的所有文本,鼠标不要移开该combobox,再次选择刚才选的下拉项,会发现选不上!!!
bug举例 - flex 4.5 官方 combobox使用文档的例子就可以重现这个bug:
http://help.adobe.com/en_US/flex/using/WS70f0d54f063b9b081aac8d1d1247252e4a0-8000.html
Flex难点汇总:
一 当需要通过多于一次的remote调用去初始化一个控件的时候(如,修改页面的一个combobox下拉;下拉列表的数据来自一次remote调用,取得该修改的记录是另一次remote调用,需要在这两次异步、返回时间不定的remote调用都返回后,再去执行某个function去做该comboox在修改页面的初始化工作。),应该怎么保证这个“初始化”的动作能正确的在所有的remote调用都成功返回后再去做?
使用绝对定位是使 Flex 控件重叠的唯一方法。
在 Flex 模型–视图设计模式下, 用户界面组件代表视图。MXML 语言支持两种用户界面组件类型: 控件和容器。容器是包含控件和其他容器的屏幕的矩形区域。控件是表单元素, 如按钮、文本字段和列表框。
flex与后台server的数据交互方法 :
httpservice, webservice, RemoteObject, socket
FLEX HTTPService vs RemoteObject:
http://bzhang.iteye.com/blog/310663
在Flex开发中需要做debug时,需要下载debug版的Flash Player。官方下载版本很多,容易让人糊涂,这里可以参考这篇文章(需FQ):
有史以来关于Flash Player的最详细说明:
http://zengrong.net/post/1188.htm
XML Namespaces and URI:
http://www.w3schools.com/XML/xml_namespaces.asp
Flash Builder 4.0 发行说明:
http://kb2.adobe.com/cn/releasenotes/530/cpsid_53079.html
Flex 3 与 Flex 4 之间的区别:
http://www.adobe.com/cn/devnet/flex/articles/flex3and4_differences_03.html
在正式版的flash builder4里,重新定义了halo包的命名空间。从原来的library://ns.adobe.com/flex/halo改为新的library://ns.adobe.com/flex/mx
http://hi.baidu.com/sc304/blog/item/7c8673360d02ec1c91ef39b1.html
点滴拾遗:
FLEX中让控件显示居中的办法,如:pannel:
http://www.flashbuilderx.com/article.asp?id=37
获取通过addElement动态添加的textinput的text值:
http://stackoverflow.com/questions/966047/flex-3-dynamic-creation-and-binding-of-textinput
Build a PopUp Window with Flex:
http://www.riacodes.com/flex/build-a-popup-window-with-flex/
The Spark TitleWindow container:
http://help.adobe.com/en_US/flex/using/WS6c678f7b363d5da52e8f1ca1124a0430dcf-8000.html
日期格式化:
http://www.fitchett.me/index.php/development/adobe-flex-format-date-time-inside-of-a-datagrid-too/
CheckBox selection in DataGrid and List :
http://blogs.adobe.com/aharui/2008/02/checkbox_selection_in_datagrid.html
Flex 4 TabNavigator组件或TabBar加ViewStack组合组件的选择:
http://www.cnblogs.com/lmjsocool/archive/2011/03/24/lmjsocool.html
Spark ComboBox control:
http://help.adobe.com/en_US/flex/using/WS70f0d54f063b9b081aac8d1d1247252e4a0-8000.html
Spark DropDownList control:
http://help.adobe.com/en_US/flex/using/WSc2368ca491e3ff92-59bf082612135c9e688-7fff.html
datagrid的itemClick(通过它我发现并使用了itemDoubleClick;使用itemDoubleClick的前提是doubleClickEnabled="true"):
http://polygeek.com/flex/528_DatagridSelectedRow/srcview/index.html
Flex调用父级的变量和方法:
http://ljhzzyx.blog.163.com/blog/static/383803122009013111737406/
Flex TitleWindow返回值处理:
http://blog.csdn.net/chuangxin/archive/2010/06/30/5705519.aspx
http://forums.adobe.com/message/2863414
http://www.justskins.com/forums/call-a-function-in-131376.html
刷新DataGrid:
Collection events and manual change notification:
http://livedocs.adobe.com/flex/3/html/help.html?content=about_dataproviders_5.html
http://rachaelandtom.info/content/reseting-flex-datagrids-dataprovider-when-using-filterfunction
http://blog.flexexamples.com/2008/12/16/detecting-when-the-data-provider-of-a-datagrid-control-changes-in-flex/
与java后台pojo的交互:
The Form Layout Container:
http://learn.adobe.com/wiki/display/Flex/Form
Using RemoteObject components:
http://livedocs.adobe.com/flex/3/html/help.html?content=datamodels_6.html#157183
Flex Test Drive: Modify the database:
http://www.adobe.com/devnet/flex/testdrive/articles/2_modify_the_database.html
Form, FormHeading, and FormItem layout containers:
http://livedocs.adobe.com/flex/3/html/help.html?content=layouts_08.html
http://hi.baidu.com/11%C5%A3%C5%A3/blog/item/ae74ffefbc75aa3dadafd506.html
http://wangleifire.iteye.com/blog/482999
remoteObject传参:
1 Explicit parameter passing and parameter binding:
http://livedocs.adobe.com/flex/3/html/help.html?content=data_access_5.html2 http://stackoverflow.com/questions/4373524/flex-remoteobject-passing-named-parameters
Handling multiple remote services with RemoteObject :
http://ria-coder.com/blog/handling-multiple-remote-services-with-remoteobject-the-easy-way
http://help.adobe.com/en_US/flex/using/index.html
http://www.adobe.com/devnet/flex/documentation.html
Creating Flex projects:
http://livedocs.adobe.com/flex/3/html/help.html?content=projects_3.html
开发中时,swf文件被浏览器缓存是个很头疼的问题。
index.template.html中加入以下语句,可以确保编译生成的swf文件在浏览器中不会被缓存,每刷新一次浏览器,都会重新load swf文件:
<meta http-equiv="Expires" content="0" /> <meta http-equiv="Pragma" content="no-cache" /> <meta http-equiv="Cache-Control" content="no-cache" />
Flex 4 "Bug" 汇总:
一 FB的bug:将felx项目交给svn管理后,当重新编译flex代码时,html-template目录下的.svn也会被全盘输出到output folder;最终导致当提交output folder,结果提交到了felx源码目录的html-template目录下!!!:
http://forums.adobe.com/message/55988
上面链接中说在Flex Builder 3 Beta 3中已解决;可是事实是我遇到这种问题用的是FB4!
暂时采用的临时解决办法:
flex源码目录下的html-template目录,不要纳入svn管理!
二 Vo中有这样一个set方法:
public function set isEnableAsObject(value:Object):void{ if(null!=value && ""!=value) { this.isEnable = String(value); } }当传进去的参数为0时,居然不进入if代码段!去掉if条件中的""!=value,则可以正常进入!我就纳闷了!0和空串""难道还相等了?如果说是因为空串""是String类型,而该set方法接受的参数value是个Object类型,代码里的这个判断 ""!=value 无从比较起,那为什么参数value是1,2,3...都没问题,偏偏只有为0时有问题?FLex这东西在基本类型的处理上,真让人不爽。
改进后的代码:
public function set isEnableAsObject(value:Object):void{ var strValue:String = String(value); if(null!=strValue && ""!=strValue) { this.isEnable = strValue; } }
三 s:NavigatorContent标签的visible="false"属性居然不起作用!设为false也好,true也罢,s:NavigatorContent永远显示:
New Flash Builder 4 is out but … old bugs remain:
http://eaigurus.com/blog/?p=195
使用 TabNavigator..getTabAt(idx).visible = false 可以设置s:NavigatorContent的visible为false:
http://wuaner.iteye.com/admin/blogs/1062837
四 flex 4 的 s:ComboBox 的一个bug:当combobox中选择某项后,选择该combobox的textinput中的文本,点击后车backspace,清空该textinput中的所有文本,鼠标不要移开该combobox,再次选择刚才选的下拉项,会发现选不上!!!
bug举例 - flex 4.5 官方 combobox使用文档的例子就可以重现这个bug:
http://help.adobe.com/en_US/flex/using/WS70f0d54f063b9b081aac8d1d1247252e4a0-8000.html
Flex难点汇总:
一 当需要通过多于一次的remote调用去初始化一个控件的时候(如,修改页面的一个combobox下拉;下拉列表的数据来自一次remote调用,取得该修改的记录是另一次remote调用,需要在这两次异步、返回时间不定的remote调用都返回后,再去执行某个function去做该comboox在修改页面的初始化工作。),应该怎么保证这个“初始化”的动作能正确的在所有的remote调用都成功返回后再去做?
使用绝对定位是使 Flex 控件重叠的唯一方法。
在 Flex 模型–视图设计模式下, 用户界面组件代表视图。MXML 语言支持两种用户界面组件类型: 控件和容器。容器是包含控件和其他容器的屏幕的矩形区域。控件是表单元素, 如按钮、文本字段和列表框。
flex与后台server的数据交互方法 :
httpservice, webservice, RemoteObject, socket
FLEX HTTPService vs RemoteObject:
http://bzhang.iteye.com/blog/310663
在Flex开发中需要做debug时,需要下载debug版的Flash Player。官方下载版本很多,容易让人糊涂,这里可以参考这篇文章(需FQ):
有史以来关于Flash Player的最详细说明:
http://zengrong.net/post/1188.htm
XML Namespaces and URI:
http://www.w3schools.com/XML/xml_namespaces.asp
Flash Builder 4.0 发行说明:
http://kb2.adobe.com/cn/releasenotes/530/cpsid_53079.html
Flex 3 与 Flex 4 之间的区别:
http://www.adobe.com/cn/devnet/flex/articles/flex3and4_differences_03.html
引用
以下是使用 MXML 2009、Spark 和 Halo 命名空间创建一个简单的 Flex 4 beta 应用程序的简明示例。
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx"> <mx:DateChooser id="main_calendar" x="20" y="20"/> <s:Button label="submit" x="220" y="20"/> </s:Application>
在正式版的flash builder4里,重新定义了halo包的命名空间。从原来的library://ns.adobe.com/flex/halo改为新的library://ns.adobe.com/flex/mx
http://hi.baidu.com/sc304/blog/item/7c8673360d02ec1c91ef39b1.html
点滴拾遗:
FLEX中让控件显示居中的办法,如:pannel:
http://www.flashbuilderx.com/article.asp?id=37
引用
verticalCenter="0" horizontalCenter="0"
获取通过addElement动态添加的textinput的text值:
http://stackoverflow.com/questions/966047/flex-3-dynamic-creation-and-binding-of-textinput
Build a PopUp Window with Flex:
http://www.riacodes.com/flex/build-a-popup-window-with-flex/
The Spark TitleWindow container:
http://help.adobe.com/en_US/flex/using/WS6c678f7b363d5da52e8f1ca1124a0430dcf-8000.html
日期格式化:
http://www.fitchett.me/index.php/development/adobe-flex-format-date-time-inside-of-a-datagrid-too/
CheckBox selection in DataGrid and List :
http://blogs.adobe.com/aharui/2008/02/checkbox_selection_in_datagrid.html
Flex 4 TabNavigator组件或TabBar加ViewStack组合组件的选择:
http://www.cnblogs.com/lmjsocool/archive/2011/03/24/lmjsocool.html
Spark ComboBox control:
http://help.adobe.com/en_US/flex/using/WS70f0d54f063b9b081aac8d1d1247252e4a0-8000.html
Spark DropDownList control:
http://help.adobe.com/en_US/flex/using/WSc2368ca491e3ff92-59bf082612135c9e688-7fff.html
datagrid的itemClick(通过它我发现并使用了itemDoubleClick;使用itemDoubleClick的前提是doubleClickEnabled="true"):
http://polygeek.com/flex/528_DatagridSelectedRow/srcview/index.html
引用
private function onItemClick( e:ListEvent ):void { selectedBlogLabel.text = "blog: " + e.itemRenderer.data.blog + "\n"; selectedBlogLabel.text += "URL: " + e.itemRenderer.data.blogURL + "\n"; selectedBlogLabel.text += "By: " + e.itemRenderer.data.blogBy; }
Flex调用父级的变量和方法:
http://ljhzzyx.blog.163.com/blog/static/383803122009013111737406/
Flex TitleWindow返回值处理:
http://blog.csdn.net/chuangxin/archive/2010/06/30/5705519.aspx
http://forums.adobe.com/message/2863414
引用
四楼:
In your pop up:
通过事件的方式:
In your pop up:
private var _callbackFunction:Function; public function set callbackFunction( value:Function ):void { _callbackFunction = value; } protected function buttonClickedInpopup():void { _callbackFunction(null); }And in your Main.mxml:
var titleWindowInstance:Popup = Popup(PopUpManager.createPopUp(this, Popup, true)); titleWindowInstance.rowData = arr.getItemAt(event.rowIndex); titleWindowInstance.callbackFunction = functInMain; PopUpManager.centerPopUp(titleWindowInstance);
http://www.justskins.com/forums/call-a-function-in-131376.html
引用
帖中7楼:
OK, I've got it, if it helps anyone. It's almost what kcell suggested:
In the popup window component:
<mx:Metadata>
[Event(name="foobar", type="flash.events.Event")]
</mx:Metadata>
In the script:
private function handleSaveClick(aEvent:Event):void {
fileName=saveName.text;
dispatchEvent(new Event("foobar", true));
PopUpManager.removePopUp(this);
}
Then the button:
<mx:Button id="saveButton" label="Save" styleName="normalButton"
click="handleSaveClick(event)" />
Then in the parent app:
private var sWin:SaveDialog;
private function saveDialog():void{
sWin =
com.taunton.cyor.SaveDialog(PopUpManager.createPop Up(this,com.taunton.cyor.SaveD
ialog,true));
sWin.fileName = app._stepData0.@title;
sWin.saveName.setFocus();
sWin.addEventListener("foobar", myClickHandler);
}
private function myClickHandler(e:Event):void{
saveRecipe();
}
OK, I've got it, if it helps anyone. It's almost what kcell suggested:
In the popup window component:
<mx:Metadata>
[Event(name="foobar", type="flash.events.Event")]
</mx:Metadata>
In the script:
private function handleSaveClick(aEvent:Event):void {
fileName=saveName.text;
dispatchEvent(new Event("foobar", true));
PopUpManager.removePopUp(this);
}
Then the button:
<mx:Button id="saveButton" label="Save" styleName="normalButton"
click="handleSaveClick(event)" />
Then in the parent app:
private var sWin:SaveDialog;
private function saveDialog():void{
sWin =
com.taunton.cyor.SaveDialog(PopUpManager.createPop Up(this,com.taunton.cyor.SaveD
ialog,true));
sWin.fileName = app._stepData0.@title;
sWin.saveName.setFocus();
sWin.addEventListener("foobar", myClickHandler);
}
private function myClickHandler(e:Event):void{
saveRecipe();
}
刷新DataGrid:
Collection events and manual change notification:
http://livedocs.adobe.com/flex/3/html/help.html?content=about_dataproviders_5.html
http://rachaelandtom.info/content/reseting-flex-datagrids-dataprovider-when-using-filterfunction
http://blog.flexexamples.com/2008/12/16/detecting-when-the-data-provider-of-a-datagrid-control-changes-in-flex/
与java后台pojo的交互:
The Form Layout Container:
http://learn.adobe.com/wiki/display/Flex/Form
Using RemoteObject components:
http://livedocs.adobe.com/flex/3/html/help.html?content=datamodels_6.html#157183
Flex Test Drive: Modify the database:
http://www.adobe.com/devnet/flex/testdrive/articles/2_modify_the_database.html
Form, FormHeading, and FormItem layout containers:
http://livedocs.adobe.com/flex/3/html/help.html?content=layouts_08.html
http://hi.baidu.com/11%C5%A3%C5%A3/blog/item/ae74ffefbc75aa3dadafd506.html
引用
在这里我必须强调一点,那就是模块化开发方便之余的问题,也就是前台value object和后台pojo的相互转换,必须是相互。前台VO类建立时必须指明与后台对应的类:[RemoteClass(alias="这里写清楚后台类路径及名称")]。这就完成了前台转后台时对应。而对于后台转前台的对应呢,必须在主模块中注册:flash.net.registerClassAlias("vo",pojo).
http://wangleifire.iteye.com/blog/482999
引用
flex remote 传递 object 参数和接受返回的 dojo 对象,应注意以下问题:
1.as 对象属性必须为 public 的
2.remote 调用的 java 方法时,参数不能作为区别不同方法的依据,也就是说, java 方法不
能重名
3.dojo 对象,必须有无参构造函数
4.as 对象需加 [RemoteClass(alias="cn.com. remote.test.User")]
1.as 对象属性必须为 public 的
2.remote 调用的 java 方法时,参数不能作为区别不同方法的依据,也就是说, java 方法不
能重名
3.dojo 对象,必须有无参构造函数
4.as 对象需加 [RemoteClass(alias="cn.com. remote.test.User")]
remoteObject传参:
1 Explicit parameter passing and parameter binding:
http://livedocs.adobe.com/flex/3/html/help.html?content=data_access_5.html
引用
<mx:RemoteObject id="employeeRO" destination="roDest" showBusyCursor="true" fault="Alert.show(event.fault.faultString, 'Error');"> <mx:method name="getList"> <mx:arguments> <deptId>{dept.selectedItem.data}</deptId> </mx:arguments> </mx:method> </mx:RemoteObject>
引用
categoryGateway.getCategoryList({orderby:'categoryId', parentCategory:'1'});
Handling multiple remote services with RemoteObject :
http://ria-coder.com/blog/handling-multiple-remote-services-with-remoteobject-the-easy-way
发表评论
-
myeclipse 10 安装 flash builder 4.6
2011-12-11 12:47 15386从Flash Builder 4 之后,ado ... -
FLEX:Nested Object & Nested Data Grid
2011-08-15 18:14 2109Flex Nested Object & Nested ... -
FLEX 服务器端交互: remoteObject & AsyncToken & 数据定时刷新 & Timer
2011-06-21 18:47 2747动态调用RemoteObject: Dynamically i ... -
FLEX : Tree & contextMenu & Array's filter & ArrayCollection's filterFunction
2011-05-29 16:05 1900Using Flex 4.5 / Using data-dri ... -
FLEX : ObjectProxy & <fx:Model> tag
2011-05-28 21:37 1980今天碰到了一个非常让我困扰的问题,使我觉得很有必要对Objec ... -
Flex:Application&Variable Scope(this owner parent parentApp parentDoc outerDoc)
2011-05-28 17:18 1391关键字: this owner parent parentA ... -
Flex : Performance tuning 性能调优
2011-05-28 14:50 1673附件: Flex Application Performanc ... -
FLEX example 例子
2011-05-28 12:12 3177How to find an ArrayCollection ... -
FLEX : Validator 验证
2011-05-26 23:57 2174Data Access and Interconnectivi ... -
FLEX : Event 事件
2011-05-24 19:51 1685ActionScript 3.0 Developer’s Gu ... -
FLEX:Data Binding 数据绑定
2011-05-24 14:44 3598务须精读的文章: Flex data binding pitf ... -
FLEX Component 组件 汇总
2011-05-23 13:56 2275Combox默认将对象中名为label的属性作为显示用的lab ... -
FLEX : dragEnabled & dropEnabled
2011-05-22 17:38 1682通过设置dragEnabled属性为true,可以使这些控件作 ... -
FLEX Data type 数据类型
2011-05-22 09:21 2054Programming ActionScript 3.0 / ... -
FLEX ERROR WARNING 总结
2011-05-22 08:13 3189常会碰到的错误:TypeError: Error #1009: ... -
Flex: labelFunction versus ItemRenderer
2011-05-22 07:16 3252When to Use labelFunction versu ... -
Flex Application 初始化顺序
2011-05-22 06:15 1623http://blog.csdn.net/chengyong ... -
Flex Metadata 元数据:Bindable(注意首字母大写),etc
2011-05-22 06:08 1751Adobe® Flex™ 3.2 语言参考 -> 元数据 ...
相关推荐
【精品】flex笔记共29页.pdf.zip
没什么好说的 没什么好说的没什么好说的 没什么好说的 没什么好说的没什么好说的
Flex笔记Flex笔记Flex笔记
此笔记为本人刚开始学习flex的时候自己对日常使用过程中自己整理的笔记,希望对初学者有所帮助。
Flex学习笔记Flex学习笔记Flex学习笔记Flex学习笔记Flex学习笔记
flex笔记 总结了actionscript在flex这的应用等 想想会有一定的帮助
flex布局笔记
flex学习笔记 flex学习笔记 flex学习笔记 flex学习笔记 flex学习笔记 flex学习笔记
flex实现右键功能 点击右键会不断地画出小圆点 供大家分享
最近开始学习Flex,其中用到了AS,AS2到AS3发生了很大的变化,完全的面向对象,知道这个特点以后我也一直没有特意的好好去学学AS3,但是随着最近学习的深入,还是有必要学习一下
一个群里面下载的flex笔记很棒的,非常适合初学者
Flex学习笔记1
这是作者自己亲自编写的教程,里面包含的有图解教程,各式jar,及配置文件,全部包含在内,如果你是一个决定学习flex初学者,我敢保证它肯定适合你!带上你走上flex开发旅途!
关于Flex布局的笔记整理,能够详细理解Flex布局原理和用法,仅供自己学习。
Flex学习笔记(flex必知必会).docFlex学习笔记(flex必知必会).doc
flex 学习笔记 初学flex的朋友 可以下载了看看 老鸟直接飘过。。。
Flex新手学习的好东西,对刚学习Flex的新手帮助很大!
Flex AS3笔记, 讲解FLEX的组件知识,FLEX与J2EE通讯原理 数据分布产等
NULL 博文链接:https://z-one.iteye.com/blog/609269
flex,初学者,笔记,资料 flex 初学者 笔记 学习资料