在Flex中,所有的ActionScript类可以根据是否可视分为两类:可视化组件和不可视组件。可视化组件都从mx.core.UICmponent继承,用于完成与用户的交互;不可视组件主要用来完成一些与人机交互无关的工作,大多数与数据处理相关,比如数据校验、格式化、远程数据访问等。
如果不可视化组件实现mx.core.IMXMLObject接口,当用MXML标记定义这个类的对象时,MXML编译器能够使该对象初始化。IMXMLObject接口非常简单,只要求该接口的实现类实现一个initialized(document:Object, id:String):void方法。一旦不可视组件实现了这个接口,那么在编译时,MXML编译器在创建该不可视类实例的ActionScript语句之后添加了一条调用initialized方法的ActionScript语句,使得在运行时实现IMXMLObject接口的不可视对象在其代码中能够访问它当前所在的文档对象。
解决问题:
1.根据权限来维护UI交互组件的状态
2.工作流驱动的界面中的UI交互组件,只有当前任务环节的UI交互组件才能够工作。
实例:在Flex中定义一个这样的Action组件,这样就在通用框架与具体人机界面的UI组件之间建立起一种隔离,使得通用框架不再控制具体的UI组件(耦合性降低),而只是控制Action的属性。UI组件只需要将自身属性(enabled和visible)与Action组件相对应的属性绑定即可以。
Action代码:
package com
{
import mx.core.IMXMLObject;
[Bindable]
public class Action implements IMXMLObject
{
private var _id:String;
private var _document:Object;
public function Action()
{
}
public function initialized(document:Object, id:String):void
{
this._document = document;
this._id = id;
}
public function get id():String
{
return _id;
}
public function get document():Object
{
return _document;
}
public var operationCode:String;//对应权限中的操作码
public var caption:String; //绑定控件提供文字标签
public var visible:Boolean = true; //绑定控件提供visible属性
public var enabled:Boolean = true; //提供enabled属性
public var checked:Boolean = true; //提供checked属性
}
}
UIActions是一个专门存储Action组件的ArrayCollection派生类:
package com
{
import mx.collections.ArrayCollection;
import mx.core.IMXMLObject;
[Bindable]
public class UIActions extends ArrayCollection
{
public function UIActions(source:Array=null)
{
super(source);
}
}
}
效果图:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" minWidth="955" minHeight="600" xmlns:sample="com.*">
<!-- Place non-visual elements (e.g., services, value objects) here -->
<sample:UIActions>
<sample:Action id="action_stat" caption="统计报表" operationCode="stat" enabled="false"/>
</sample:UIActions>
<mx:Button x="123" y="124" label="发布报表" enabled="{this.action_stat.enabled}"/>
<mx:Button x="271" y="124" label="统计报表"/>
</mx:Application>
转载连接:http://blog.csdn.net/sysu_2010/article/details/6738313
- 大小: 2.6 KB
分享到:
相关推荐
Flex是Adobe公司推出的一种基于ActionScript 3.0的开源框架,主要用于构建富互联网应用程序(Rich Internet Applications,简称RIA)。这种技术允许开发者创建具有高度交互性和动态视觉效果的Web应用,提供比传统...
Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex ...
本资料大全包含了多个重要的Flex学习资源,如Flex白皮书、Flex Cookbook以及Flex编程指南,这些都是深入理解Flex开发不可或缺的文献。 1. **Flex白皮书**: Flex白皮书是Adobe官方发布的技术文档,通常包含Flex...
Flex是Adobe公司开发的一种富互联网应用(Rich Internet Application,RIA)框架,主要用于构建运行在浏览器上的交互式应用程序。Flex以其强大的MXML和ActionScript编程语言,以及基于Flash Player或Adobe AIR运行时...
Flex是Adobe公司推出的一种用于构建富互联网应用程序(RIA)的技术,它基于ActionScript编程语言和Flex框架,可以创建交互性强、用户体验优秀的Web应用。本教程是作者精心编写的Flex学习资料,适合初学者入门,通过...
【标题】"记事万年历flex源码"所涉及的知识点主要集中在Adobe Flex技术和日历应用程序开发上。Flex是一种基于ActionScript 3.0的开源框架,用于构建富互联网应用(RIA)。它允许开发者使用MXML和ActionScript来创建...
Flex是开源的、高度可移植的词法分析器生成器,专门用于创建处理文本输入流的解析器。这个“flex-2.6.0.tar.gz”文件是一个针对Flex 2.6.0版本的源码压缩包,适用于Unix/Linux类操作系统。在Linux环境中,我们通常会...
Flex是由Adobe公司开发的一种开放源码的富互联网应用程序(RIA)框架,主要用于构建和部署跨平台、跨浏览器的互动用户界面。本教程基于Flex官方文档,旨在为开发者提供中文版的详细学习指南,帮助理解并掌握Flex的...
Flex是开源的、高度可移植的词法分析器生成器,用于创建处理结构化文本或二进制文件的扫描器。这个"flex-2.6.4.tar.gz"文件是Flex 2.6.4版本的源代码压缩包,遵循GNU General Public License (GPL)发布。在Linux和类...
Flex API 是一种软件开发接口,主要用于构建富互联网应用程序(Rich Internet Applications,简称RIA),它由Adobe公司开发,用于提供强大的图形和交互性功能。在本文中,我们将深入探讨Flex API的核心概念、主要...
Flex是Adobe公司推出的一种用于构建富互联网应用(RIA, Rich Internet Applications)的开源框架,它主要基于ActionScript编程语言和MXML标记语言。这个“Flex实战项目”可能是一个使用Flex技术构建的实际应用示例,...
Flex是Adobe公司开发的一种开放源代码的富互联网应用程序(RIA)框架,主要用于构建具有动态图形、交互性丰富的Web应用。Flex应用程序通常使用ActionScript编程语言,并基于Flash Player或Adobe AIR运行时环境。Java...
### Flex3与Flex4对比分析 #### 一、概述 随着技术的发展,Adobe Flex平台也在不断进化以满足日益增长的应用需求。本文旨在详细介绍Flex3与Flex4之间的主要区别,特别是Flex4相较于Flex3的新功能与改进之处。通过...
Flex Web工作流程图是一种利用Adobe Flex技术创建的用于设计和展示流程、工作流或系统交互的可视化工具。Flex是一款强大的开发框架,主要用于构建富互联网应用程序(Rich Internet Applications, RIA),它基于...
Flex布局是一种强大的CSS布局模式,它允许开发者在不考虑元素的具体尺寸的情况下,创建灵活且响应式的用户界面。这个“flex特效 不错的flex样式生成器”是一个工具,可以帮助开发者更轻松地生成适用于Flex布局的CSS...
在IT行业中,FLEX(Flexible Learning Environment eXtension)是一种基于Adobe Flash技术的开发框架,主要用于构建富互联网应用程序(RIA)。本篇文章将详细介绍FLEX的安装与配置过程,帮助初学者快速上手。 首先...
标题和描述都聚焦于对比Flex3与Flex4之间的差异,这是一种Adobe系统提供的开源框架,用于构建跨平台的桌面和移动应用程序。Flex4,其代号为Gumbo,是在Flex3的基础上进行了重大升级,旨在改进用户体验和开发效率。...
这个名为"flex帮助文档--(flex学习文档)"的压缩包文件包含了关于Flex的详细学习资料,尤其是针对初学者或者希望深入理解Flex的开发者。 1. **Flex的基本概念** Flex是一个基于MXML和ActionScript的开源框架,...
Flex是Adobe公司开发的一种用于创建富互联网应用程序(RIA)的开放源代码框架,它主要基于ActionScript编程语言和MXML标记语言。这个“Flex中文教程”显然是为了帮助初学者掌握Flex开发技术,通过配合使用Flex...