flex 日记1 cairngorm
学flex就是为了跳槽,万恶的公司,年底什么都没有,害的我都没钱回家,杯具啊。
学flex已经有一段时间了,我是java程序员,欢迎大家交流
最近学了点cairngorm 感觉用起来比struts繁琐一点,废话少说,上代码:
1.先看vo,本实例是一个添加联系人的小例子,名字,邮箱,添加时间三个属性,都是搞 java的,刘若英说了 ,你知道,我知道
package adobe.vo
{
import com.adobe.cairngorm.vo.ValueObject;
public class ContactVO implements ValueObject
{
public function ContactVO()
{
}
public var fullName:String;
public var email:String;
public var addContactDate:String;
}
}
2.接下来就mvc吧,cairngorm 几个主要的组件 :
modellocator (其实就是一个全局的容器,把你需要保存的数据放里边)
command (这个是boss,负责把数据加入到modellocator中,还可以有一个代理,必要的话,和数据库交流交流)
frontControl ( 我说就是一个监听器,江湖上有事了他都去报告掌门人(command))
cairngormEvent (自定义事件 没什么好说滴)
代码上 modellocator
package adobe.model
{
import com.adobe.cairngorm.model.ModelLocator;
import mx.collections.ArrayCollection;
[Bindable]
public class ContactModelLocator implements ModelLocator
{
public function ContactModelLocator()
{
}
private static var instance:ContactModelLocator;
//单例的,我知道,你知道
public static function getInstance():ContactModelLocator{
if(instance == null){
instance = new ContactModelLocator();
}
return instance;
}
//数组,想放什么就放什么
public var contacts:ArrayCollection = new ArrayCollection();
}
}
command:
package adobe.commands
{
import adobe.control.AddContactEvent;
import adobe.model.ContactModelLocator;
import adobe.vo.ContactVO;
import com.adobe.cairngorm.commands.Command;
import com.adobe.cairngorm.control.CairngormEvent;
import mx.formatters.DateFormatter;
public class AddContactCommand implements Command
{
public function AddConta
相关文档:
as:
var app:Object;
function setApp(ap:Object):void{
this.app=ap;
}
btn.addEventListener(MouseEvent.CLICK,onClick);
function onClick(event:MouseEvent):void{
app.fun(btn.label);
}
flex:
private function onSwfLoaded(event:Event):void
{
myloader.addEventListen ......
flex 装载多个module出现: 强制转换类型失败,出现某些类不能转换
例如:
无法将 mx.managers::PopUpManagerImpl@7155ac1 转换为 mx.managers.IPopUpManager。
解决方法是在Application加入引用
1.
import
mx.managers.DragManager;
private
var dragManager : DragManager;
2. ......
<?xml version="1.0"?>
<!-- Simple example to demonstrate the Alert control. -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script& ......
动态变量(TESTED)
因为动态的dataGrid,产生动态的列
col1 col2 col3.......
在获取行,而行由object组成,行的每个字段是OBJECT的属性
比如获取某行 object 第二列 的值 object.col2
需要动态变量
var obj:Object = arrColl[i];
for(var j:int=1;j<=colCount;j++){
&nbs ......
XML 作为数据源的实例(TESTED)
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" preinitialize="preInit()" fontSize="12" height="500">
<mx:Script>
  ......