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
相关文档:
文章一:http://blog.csdn.net/eyking/archive/2009/10/21/4702330.aspx
Flex就是致力于RIA的应用,Adobe为了扩大战场,推出了AIR环境,那么此时采用Flex编写的程序在浏览器中与桌面环境下都可以很好的移植了。像Flex与Flash这样奇怪的东西,战场不仅仅在浏览器上,还跑到了桌面环境下。一个很重要的安全模型就被提出了:F ......
<mx:DataGrid id="dg" click="select()" dataProvider= "{modelLocator.resultList}" borderStyle="none"
verticalGridLines="false" horizontalGridLines="false" verticalScrollPolicy="off" rowCount="10"
fontSize="16" fontStyle="normal" fontThickness="0" width="100%" height="100%">
<mx:columns& ......
动态变量(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>
  ......
由于avm版本的问题,flex3无法直接调用flash做的swf文件,弄了一天,最后终于想到了一个办法,将LocalConnect和flex调用as3两种方式攒在了一起,算是暂时把这个问题解决了!
存起来,留着以后修改
第一步:用flash做一个as2的文件
我在里面添加了一个按钮
在第一帧写下面的代码
mybtn.onRelease=function()
{
......