`

第三章 Flex的基础 (1-2小节)

    博客分类:
  • Flex
阅读更多

第三章 Flex

Flex 是基于组件来进行开发的,为了更有效率地设计和开发应用程序,你应该熟悉这些开发模式以及操作步骤。

第一节创建一 Flex 应用程序

应用程序模

Flex 创建一个应用程序时,你使用组件(容 /containers 和控 /controls )来描述用户的操作界面。例如,容器可以是一个用来进行数据输入的表格容器,如一个盒 /Box 或一个栅格 /Grid ;而控件就是该表格中的元素,如一个按 /Button 或文本输入 /Text Input field

举个例子,在随后的图例中显示了两种不同的盒子容器,它们分别包含了三个按钮控件和一 ComboBox 控件

Flex MVC 模型

为了增强系统的复用性和可维护性,应该采用具有良好体系架构的模型, Model-View-Controller MVC

  1. 1. 模型 /Model 组件封装了数据和与数据相关的行为
  2. 2. 视图 /View 组件定义了应用程序的用户界面
  3. 3. 控制 /Controller 组件则负责处理程序中的数据连接

web 服务器的运用

通常地,会涉及到 web 服务器类型有

  1. 1. web 服务器,它们仅将用户的请求回复一个简单的静 HTML 页面。在这种情况下,你需要 Flex 应用程序 SWF 文件嵌入到一 HTML 页面中
  2. 2. web 应用服务器, JRun ColdFusion PHP ,它们可以动态地生成页面。在这种情况下,你将使用到与服务器技术相关的库,并动态地处理它们的内容
    1. 3. J2EE 应用服务器 servlet 容器。向一 J2EE 应用服务器 servlet 容器发出请求, JRun Tomcat WebSphere ,通常你需要使 Flex Data Services
    2. 程序开发的通常步 Flex 应用程序,通常会采用如下的步骤进行
    1. 1. 在一个文本编辑器或集成开发环境( IDE )中, Adobe Flex Builder Eclipse IntelliJ 中插 MXML 根标签。
      1. 2. 添加一个或更多容器
      2. 3. 在容器中添加控件,如输入栏、按钮和输出栏
      3. 4. 定义一种数据模型
      4. 5. 添加一 web 服务器 HTTP 服务器,或向远 Java 对象发送请求
      5. 6. 为数据输入添加验证
      6. 7. 为组件添加脚本
      7. 8. 将应用程序编译 SWF 文件。

发布应用程 你可以将应用程序发布成一个编译好 SWF 文件,或者如果 Flex Data Services 的话

则可以将应用程序发布为一 MXML ActionScript 文件。客户端进行访问的格式分别是 http://hostname/path/filename.swf http://hostname/path/filename.mxml

第二节 Flex 编程模

Flex 包含 Flex 类库、 MXML ActionScript 编程语言,如下图所示:

当然, Flex 还包 Flex 编译器和调试器,它们并没有在图中示出。

你可以混 MXML ActionScript Flex 应用程序。事实上, MXML ActionScript 编程语言都提供了访 Flex 类库的能力。通常的做法是:使 MXML 去定义用户界面的元素,使 ActionScript 去定义客户端的逻辑并进行控制

Flex 类库包括 Flex 组件、管理器和行为。在基于组件的开发模型下,开发人员可以

运用预先做好的组件。

ActionScript 添加 Flex 应用程序

ActionScript 可以出色地完成如下任务

  1. 1. 处理事
  2. 2. 处理错
  3. 3. MXML 语句中将数据对象绑定 Flex 控件
  4. 4. 定制组件

在随后的例子中,为按钮控件的点击事件添加了事件监听 /event listener 。当用户点击按钮时, TextInput 控件中的文本拷贝 TextArea 控件中。

<?xml version="1.0"? > <!-- ?xml 标签必须位于第一 -- >

<!--MXML 根元素标 -- > <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" >

<!-- 定义一个面板容器来放置控 -->

<mx:Panel title="My Application">

<!--TextInput 控件用来进行用户输 -- > <mx:TextInput id="myInput" width="150" text=""/ >

<!--TextArea 控件用来进行输 -- > <mx:TextArea id="myText" text="" width="150"/ >

<!-- 按钮控件来触发拷 -- > <mx:Button id="myButton" label="Copy Text " click="myText.text=myInput.text;"/ >

</mx:Panel> </mx:Application>

前面的例子是 MXML 中直接插 ActionScript 代码。尽管这种技术只需要一两

ActionScript 代码,但是对于更为复杂的逻辑实现,你就需要 <mx:Script> 块中定

ActionScript ,就象如下所示那样

<?xml version="1.0"? > <!-- ?xml 标签必须位于第一 -- >

<!--MXML 根元素标 -- > <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" >

<mx:Script > <![CDATA [

// 定义一 ActionScript 功能函 private function duplicate():void { myText.text=myInput.text ; }

]] > </mx:Script >

<!-- 定义一个面板容器来放置控 -- > <mx:Panel title="My Application" >

<!--TextInput 控件用来进行用户输 -- > <mx:TextInput id="myInput" width="150" text=""/ >

<!--TextArea 控件用来进行输 -- > <mx:TextArea id="myText" text="" width="150"/ >

<!-- 按钮控件来触发拷 -- > <mx:Button id="myButton" label="Copy Text " click="duplicate();"/ >

</mx:Panel> </mx:Application>

在本例中,你使 ActionScript 功能函数来实现了一个事件监听器。这样做的好处是 使 MXML 代码 ActionScript 代码分离,以提供更好的健壮性和灵活性。

使用数据绑

Flex 提供简洁的语法来实现组件间的、或与数据模型的绑定。随后的例子中,在波浪括号 /{ } 里的数值 TextArea 控件 TextInput 控件的文本属性联系起来。当用户 TextInput 控件中输入文本时,它会自动地拷贝 TextArea 控件中去

<?xml version="1.0"? > <!--?xml tag must start in line 1 column 1 -- >

<!-- MXML root element tag. -- > <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" >

<!--Flex controls exist in a container. Define a Panel container. -- > <mx:Panel title="My Application" >

<!--TextInput control for user input. -- > <mx:TextInput id="myInput" width="150" text=""/ >

<!--Output TextArea control. -- > <mx:TextArea id="myText" text="{myInput.text}" width="150"/ >

</mx:Panel> </mx:Application>

使用事件去处理错误正如你可以使用事件去实现程序的功能,你也可以使用它们对错误进行处理。下面的例子显示了如何设计一个针 web 服务器操作的错误事件的监听器

<mx:Script> <![CDATA[

public function showErrorDialog(error:String):void { // 具体功能实 .. . }

]]> </mx:Script> ... <mx:WebService id="WeatherService" ...">

<mx:operation name="getFoo" fault=" showErrorDialog(event.fault.faultString); "/> </mx:WebService>

控制应用程序的外 控制应用程序的外观,常涉及到如下内容

1. 大小 /Sizes ,即组件或应用程序的高度和宽度

  1.  
    1. 2. 样式 /Styles ,即一组特性,如字体、排列方式、颜色等。它们都是通过层叠样式 CSS )来进行设置的
      1. 3. 皮肤 /Skins ,即可以进行改变的组件视觉元素
      2. 4. 行为 /Behaviors Flex 组件在视觉或听觉效果方面的变化
  2. 6. 视图状 /View state 可以让你通过修改它的基础内容,来改变组件或程序的内容和外观

7. 变换 /Transitions 可以让你定义屏幕上发生改变的视图状态。

使用数据服务

Flex 被设计为可以与许多类型的服务器打交道,从而提供对本地和远端逻辑的访问。提供数据访问 MXML 组件被称之为数据服务器组 /data service components MXML 包含了如下几种类型的数据服务器组件

  1. 1. WebService 提供对使 SOAP web 服务器的访问
  2. 2. HTTPService 提供对返回数据 HTTP URLs 的访问

3. RemoteObject 通过使 AML 协议提供 Java 对象( Java Beans EJBs POJOs )的访问。该选项目前仅适用 Flex Data Services Macromedia ColdFusion MX 7.0.2.

Flash Flex

开发一 Flex 应用程序与开发一 font-size: 10.5pt; font-family: 'serif&ap

分享到:
评论

相关推荐

    flex-messaging-core-4.7.3.jar

    flex-messaging-core-4.7.3.jar 最新版,下载了好长时间才下载下来,亲测可用!

    flex-messaging-core.jar

    总的来说,flex-messaging-core.jar是构建分布式Flex应用程序的基础,它为开发者提供了高效的远程通信能力,是实现Flex应用与后端服务器深度集成的关键组件。了解并熟练掌握其工作原理对于开发高效、可靠的Flex应用...

    flex-iframe-1.4.6

    在实际开发中,这种技术可以用于实现各种功能,比如在Flex应用中嵌入第三方地图服务、在线视频播放器,或者任何其他需要在Flex界面内展示的外部HTML内容。通过flex-iframe-1.4.6,开发者能够更灵活地扩展Flex应用...

    flex-messaging-4.7.3最新版本的jar

    2. **LiveCycle Data Services (LCDS)**:虽然BlazeDS是开源的,但LCDS是Adobe的商业产品,它在BlazeDS的基础上添加了更多高级功能,如更复杂的缓存策略、高级数据推送和数据管理工具等。 3. **MessageBroker**:这...

    flex-messaging-core

    flex-messaging-core jar包

    flex-messaging-common

    flex-messaging-common

    flex-messaging-proxy.jar

    flex-messaging-proxy.jarflex-messaging-proxy.jarflex-messaging-proxy.jarflex-messaging-proxy.jar

    flex-messaging-common.jar

    flex-messaging-common.jar

    flex-messaging-remoting.jar

    flex-messaging-remoting.jarflex-messaging-remoting.jarflex-messaging-remoting.jarflex-messaging-remoting.jar

    flex-messaging-core-amf1.7

    flex-messaging-core-amf1.7

    flex-messaging-opt.jar

    flex-messaging-opt.jarflex-messaging-opt.jarflex-messaging-opt.jarflex-messaging-opt.jar

    Forex-Flex-EA-V4.91_flexEA_海龟MT4_ea_mt4_ea源码_

    《深入解析Forex-Flex-EA-V4.91与海龟交易策略在MT4平台的应用》 在金融交易领域,自动交易系统(Expert Advisor,简称EA)的应用日益广泛,尤其是外汇市场(Forex)。本文将围绕“Forex-Flex-EA-V4.91”这一特定的...

    Flex Builder 4-7 -03

    FLEX开发工具。Flex Builder 4-7 win64 安装文件,第三卷。

    flex-messaging-common-1.0.jar

    flex-messaging-common-1.0.jar 资源共享,有需要其他jar包的可以在评论留言,看到后我会陆续上传。

    flex-messaging系列jar包

    1. **flex-messaging-core.jar**:这是Flex Messaging框架的基础库,提供了核心的基础设施和服务。它包含AMF(Action Message Format)编解码器,用于高效地序列化和反序列化数据,以及基本的消息传递机制。AMF是一...

    flex-messaging-opt-1.0.jar

    flex-messaging-opt-1.0.jar 资源共享,有需要其他jar包的可以在评论留言,看到后我会陆续上传。

Global site tag (gtag.js) - Google Analytics