flex版本问题总结

转自:http://blog.csdn.net/holly_puck/article/details/6690264java

最近公司平台在集成工做流时须要设计一个web版的流程定义设计器,初步定下来用Flex技术实现view层。
故而学了一下Flex,把一开始犯的错误记录下来与你们共勉。web


1.因为ActionScript3语言与java的极为类似,故而在未深刻了解as3语言时按照java语法写了几个as类,
结果弄出错来。如今稍微总结一下:
1) as3语言的类的构造函数只能有一个,这一点不像java能够有多个重载的构造函数。
2) as3语言在类的定义中关于私有属性的getter 和setter和java的不一样。api

java的通常状况下是这样的:public void setXxxx(String str){...};public String getXxxx(){...};
而as3则是像这样定义:public function set xxxx(str:String):void {...};public function get xxxx():String{...};ide


2.为了体验下flex的绚丽,我在网上下载了一个模板。在FlexBuilder新建了个项目,导入组件。却发现不少文件,包括mxml文件和as文件
都报错。在网上找了下缘由,大体是由于这些组件都是基于Flex4版本以前写的,有不少类或组件在4中不被支持,或者干脆删掉了。
好比:我copy了一段在“ComboBox的下拉菜单List内显示不一样字体的功能”代码,FlashBuilder提示报错“没法将<s:SimpleText>解析为组件执行”
到网上寻求答案,有这么一句话:simpleText has been replaced with label in beta 2原来在beta2版本中simleText已经被label替代了
以后我又从网上下载了个自定义播放器组件,照着里面的代码敲了一遍,发现错误许多。函数


从网上整理了一下
对CustomPlayer.mxml 的修改:
1. 查找 Adobe Flex 4.1 语言参考 ,spark.primitives.VideoElement 类已经去掉。因此组件<s:VideoElement>没法被解析为组件执行。
2. <mx:HSlider 在程序使用了 Wireframe 主题后,不能显示控制拖动的小圆点。这个只需用回默认的Spark主题便可。
3. 将 xmlns:mx="library://ns.adobe.com/flex/halo" 改成 xmlns:mx="library://ns.adobe.com/flex/mx"
不然 <mx:HSlider 、<mx:Label 会提示出错。(由于正式版的命运空间有改变,详见:http://adamed.javaeye.com/blog/623395 Flex4正式版命名空间的变化 一文)
4. 将valueInterval 改为 snapInterval
5. 我在类中引用com.rojored.view.controls.*,再在类中使用Audio,它报Access of undefined porperty Audio
须要从网上下载2个文件http://rojored.googlecode.com/hg ... d/controls/Audio.as
http://rojored.googlecode.com/hg ... asses/AudioEvent.as
或者http://mvn.rojored.com/com/rojor ... 10222.232444-20.swc
相关api地址http://docs.rojored.com/
字体

对CustomPlayerSample.mxml 的修改:
1.<s:List 中的 selectionChanged="play(event);" 提示“没法为组件类型spark.components.List解析属性selectionChanged”,将其改成change。flex

相关文章
相关标签/搜索