flex的自定义事件
package event
{
import flash.events.Event;
public class CustomEvent extends Event
{
public var evObject:Object;
public function CustomEvent(obj:Object, type:String)
{
super(type);
evObject = obj;
}
override public function clone():Event
{
return new CustomEvent(evObject, type);
}
}
}
这个就是一个自定义控件,它和传统的区别在于可以自己传送一个参数过去,比如两个界面的参数传递。
比如这样的一个例子,当datagrid的某条记录双击之后,传递selectedItem:object到另外的一个界面中去
1、usersummary.mxml ------(子控件)
DataGrid id=myDg : doubleClickEnabled="true" doubleClick="transfer(event)"
2、 public function transfer(evt:MouseEvent):void
{
var cusEvent2 : CustomEvent = new CustomEvent(myDg.selectedItem,"itemUserData");
dispatchEvent(cusEvent2);
}
3、 accountmapping.mxml------- (userCanvas是主应用程序)
public var UserSelectedData:object='';
userCanvas.usersummary.addEventListener("itemU
相关文档:
ArrayCollection经常做ComboBox控件的集合还有DataGrid的集合,要注意它的格式。data的属性里面如果是数字不需要双引号,若是字符串就必须加,而且需要提前作var定义
public var outgoing:String;
  ......
前几天一直被为什么我的pdf文件无法在air程序中显示出来烦着.
在几个不同的论坛发了帖子,可是回答的人寥寥无几, 我都怀疑是不是我的问题太简单了,大家都没有去回答的欲望, 毕竟我才接触flex.
今天早上终于想出了答案:
原来必须在正确安装了air程序之后才能加载pdf文件.
我的程序没有错,错在我是在Flex builder下运行的 ......
作为一个不入流的flex开发人员总结一下不入流的感悟。
我一定要记住,as中的变量的作用范围只有两种,function和class,所以要想用闭包就需要一个createFunction的东西才行,不要妄想在for循环中用闭包了。看了一下as3的参考,发现它的前世和lua还真像,as3的继承其实还是prototype来做的,就是lua的元表了, ......
ActionScript 3.0 语言和组件参考
Foundation ActionoScript3.0 动画
Learning Flex3
AS3 Cheat Sheets
Flex Frameword Diagram
Rich Internet Applications With Adobe Flex & Java
......
1.如果使用MVC框架,相信这并不是一个问题。而如果没有使用的话,可以用类似的方法设置一个单例,子窗口和父窗口通过这个单例来交互消息,如果需要解耦,请发送自定义事件。总之,只要按照MVC思路来做就可以了。
2.类似JS,在子窗口的构造函数里增加一个参数,将父窗口传参进去。MXML没有构造函数,用一个属性来保存父窗口 ......