`
nianshi
  • 浏览: 420544 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

Flex3快速入门(2): 使用 MXML 和 ActionScript 进行编码

    博客分类:
  • Flex
阅读更多

使用 MXML 和 ActionScript 进行编码

Adobe® 将 Flex 实施为 ActionScript 类库。 该类库包含组件 (容器和控件)、管理器类、数据服务类和所有其他功能的类。 您通过将 MXML 和 ActionScript 语言与该类库一起使用来开发应用程序。

MXML

MXML 是用于为 Adobe® Flex™ 应用程序进行用户界面组件布局的 XML 语言。 您还使用 MXML 来显式定义应用程序的非可视方面, 例如访问服务器端数据源和用户界面组件与数据源之间的数据绑定。

例如, 您通过使用下面的 MXML 语句, 使用 <mx:Button> 标签来创建 Button 控件的实例:

<mx:Button id="myButton " label="I'm a button! "/>

您设置 id 属性以赋予 Button 实例一个唯一的名称, 以后可以使用该名称引用到它。 label 属性设置在 Button 实例上显示的标签的文本。

下面的示例显示创建显示 Button 控件的 Flex 应用程序所需的完整代码:

<?xml version="1.0" encoding="utf-8"?> <mx:Application
xmlns:mx="http://www.adobe.com/2006/mxml "
horizontalAlign="center " verticalAlign="center "
>
<mx:Button id="myButton " label="I'm a button! " /> </mx:Application>

在编写 Flex 应用程序之后, 您必须使用 Flex 编译器来编译它。 Flex 编译器是称为 mxmlc 的一个很小的可执行文件, 处于 Flex 2 安装文件夹下的 Flex SDK 2.0\bin 文件夹中。

提示: 确保 Flex 2 installation folder\Flex SDK 2.0\bin 文件夹处于您的系统的路径中。 让 Flex 编译器处于您的路径中, 使您不管当前处于哪个文件夹中, 都可以从命令行调用它。

说明

  1. 在您喜爱的文本编辑器 (如, 记事本) 中创建一个新文件并将它另存为 MyFirst.mxml。
  2. 从前面的示例中将代码输入到 MyFirst.mxml 中并保存您的文件。
  3. 通过选择“开始”>“所有程序”>“附件”>“命令提示符”, 打开命令窗口。
  4. 将您的当前目录更改为包含您在步骤 1 中保存的 Flex 应用程序的文件夹。
  5. 键入下面的命令来调用 Flex 编译器:
    mxmlc --strict=true --file-specs MyFirst.mxml

    以双短划线开头的命令字符串中的项目被称为编译器选项, 它们被用于定义 Flex 编译器的行为。 在前面的示例中, 您将 --strict 选项设置为 true 以强制编译器进入 Strict 模式。 在 Strict 模式下, 编译器对您的代码具有较高的期望。 例如, 它期望您以静态方式键入变量。 您使用 --file-specs 选项来指定被编译的 MXML 文件。

  6. 在 Windows 资源管理器中双击 SWF 文件或在命令行中输入其名称, 在独立的 Adobe Flash Player 9 中打开它。

命令提示符图像

<!-- Getting Started MXML SWF -->

若要查看全部源代码, 请右键单击 Flex 应用程序并从上下文菜单中选择“查看源代码”。

提示: 您还可以使用 Adobe Flex Builder 2 创建和编译 Flex 应用程序, Adobe Flex Builder 2 是包含可视设计视图的用于 Flex 开发的集成开发环境 (IDE)。 有关 Flex Builder 2 的详细信息, 请参阅使用 Flex Builder 2

ActionScript

MXML 标签与 ActionScript 类或类的属性相对应。 当您编译 Flex 应用程序时, Flex 会解析 MXML 标签并生成相应的 ActionScript 类。 接着它将这些 ActionScript 类编译成存储在 SWF 文件中的 SWF 字节码。

提示: 若要查看 Flex 生成的中间 ActionScript 文件, 请将 --keep-generated-actionscript 选项添加到 mxmlc 命令中。

继续上面的例子, Flex 提供定义 Flex Button 控件的 ActionScript Button 类。

注意: 在前面的示例中, <mx:Button> 标签中的 mx 前缀是一个名称空间。 它是通过使用 Application 标签中的唯一 URL 声明的。 mx 前缀将 mx 名称空间中的每个组件映射到其完全合格的类名称。 这就是 Flex 编译器可以找到与 mx 名称空间中的 MXML 标签相对应的 ActionScript 类的方式。

下面的示例阐述如何通过使用 ActionScript 创建 Button 控件。 该结果与该 MXML 版本是相同的。

<?xml version="1.0" encoding="utf-8"?>
<mx:Application
    xmlns:mx="http://www.adobe.com/2006/mxml "
    viewSourceURL="src/GettingStartedActionScript/index.html "

    creationComplete="creationCompleteHandler() ;"
    width="300 " height="80 "
>

    <mx:Script>

        <! [ CDATA[
            import mx.controls.Button;
            import mx.events.FlexEvent;

            private var myButton: Button;

            private function creationCompleteHandler() : void

            {
                // Create a Button instance and set its label
                myButton = new Button() ;
                myButton.label = "I'm a button!" ;
               
                // Get notified once button component has been created and processed for layout


                myButton.addEventListener ( FlexEvent.CREATION_COMPLETE, buttonCreationCompleteHandler) ;
               
                // Add the Button instance to the DisplayList
                addChild ( myButton) ;
            }
           
            private function buttonCreationCompleteHandler ( evt: FlexEvent ) : void

            {
                // Center the button
                myButton.x = parent.width/ 2 - myButton.width/ 2;
                myButton.y = parent.height/ 2 - myButton.height/ 2;
            }

        ]] >
    </mx:Script>
</mx:Application>

通过 ActionScript 创建 Flex 组件时, 必须导入组件的类。 您还必须通过使用 addChild() 方法使组件可见, 将组件添加到应用程序的 DisplayList 中。 通过将此示例的长度和复杂性与其等同的 MXML 版本相比较, 您可以看到 MXML 的简单的基于标签的声明性语法是如何使您免于编写许多 ActionScript 代码行来进行组件布局的。

此示例会产生下列 SWF 文件:

<script type="text/javascript"> // &lt;![CDATA[ var props = new Object(); props.swf = &quot;http://www.adobe.com/FLEX_Directory/quickstart/coding_with_mxml_and_actionscript/swfs/GettingStartedActionScript.swf&quot;; props.id = &quot;GettingStarted&quot;; props.w = &quot;300&quot;; props.h = &quot;80&quot;; props.ver = &quot;9&quot;; props.wmode= &quot;window&quot;; props.menu=&quot;true&quot;; var swfo = new SWFObject( props ); registerSWFObject( swfo, &quot;GettingStarted&quot; ); // ]]&gt; </script>

<!-- <script type="text/javascript"> // <![CDATA[ embedSample("GettingStartedActionScript", "300", "80" , "9.0.0"); // ]]> </script> -->

注意: 此示例阐述线上 ActionScript 与 Script 标签的使用, 这是在 Flex 应用程序中包含 ActionScript 的一个可能的方法。 其他方法有: 将脚本块分隔到外部 ActionScript 文件中, 或使用外部 ActionScript 类。

分享到:
评论

相关推荐

    Flex教程大全 flex快速入门

    它允许开发者使用MXML(一种基于XML的语言)和ActionScript(一种面向对象的脚本语言)来进行高效的应用程序开发。Flex不仅能够创建功能强大的桌面应用程序,还能构建动态丰富的互联网应用(RIA)。本文旨在为初学者...

    flex快速入门“flex3_quickstart”

    Flex3快速入门指南详解 Flex,作为Adobe推出的一款强大的RICH Internet Application(RIA)开发框架...通过掌握MXML和ActionScript,理解组件的使用和数据的处理,你将能够在Flex平台上构建出既美观又实用的应用程序。

    flex入门 pdf

    标题和描述中提到的知识点主要围绕Flex入门及学习,包括使用MXML和ActionScript进行编码。以下是对此知识点的详细说明: ### Flex入门:MXML与ActionScript #### MXML(Flex Markup Language) MXML是一种XML语言...

    Flex 入门 开发文档

    【Flex入门开发文档】 Flex是一种用于构建富互联网应用...总之,Flex入门需要掌握开发环境的配置、基本的MXML和ActionScript知识,以及调试和部署技巧。通过实践和学习,你将逐渐熟悉这个强大的富互联网应用开发平台。

    flex入门到精通教程

    3. 测试阶段:使用Flex Builder内置的调试器进行调试,确保应用程序正常运行。 4. 发布阶段:将应用程序编译为SWF文件,部署到Web服务器或作为Adobe AIR桌面应用程序。 六、Flex与Flash Player和Adobe AIR - Flash ...

    Flex 开发入门介绍及使用

    Flex 开发入门介绍及使用 Flex 是一种用于创建富互联网应用程序(Rich Internet Applications,简称 RIA)的技术,它由 Adobe 公司推出并开源,自 2007 年以来迅速发展,吸引了众多开发者和企业的关注。IBM 等大...

    Flex 中文帮助 (入门及提高)

    Flex 应用程序的编译过程涉及将 MXML 和 ActionScript 代码、图形资源以及任何相关的外部库和服务整合到一个 SWF 文件中。这个过程通常在开发者完成应用程序的设计和编码后执行。 - **编译 SWF 文件**:当源代码被...

    flex实战项目,flex开发

    7. **Flex入门**:对于初学者,Flex入门通常从安装Flex SDK和Flex Builder开始,然后学习基本的ActionScript语法和MXML元素。通过搭建简单的Hello World程序,逐步熟悉Flex开发环境和工作流程。 8. **Flexstore**:...

    Flash Builder 4(中文)快速入门pdf

    《Flash Builder 4中文快速入门》这本书将引导初学者了解如何安装和配置Flash Builder 4,然后逐步学习创建第一个Flex项目,理解MXML和ActionScript的基本语法,以及如何使用组件库构建用户界面。书中还会介绍如何...

    getting_started_with_Flex3

    3. **编码**:使用MXML和ActionScript编写应用程序代码,利用Flex3提供的组件库构建UI。 4. **测试和调试**:使用Flex Builder的调试工具进行单元测试和功能测试,确保应用程序的稳定性和正确性。 5. **部署**:将...

    flex开发入门,忒基础的。

    - 使用MXML和ActionScript 3.0编写用户界面和业务逻辑。 - MXML是Flex的一种标记语言,用于定义界面布局和组件属性。 - ActionScript 3.0是一种面向对象的编程语言,用于实现交互逻辑和后台处理。 - **调试**: ...

    flex入门文档(4个)

    - 使用MXML和ActionScript 3.0进行编程 - 组件库的使用,包括Flex预定义的UI组件 - 调试和测试Flex应用程序的方法 - 发布和部署Flex应用的步骤 2. **flash_video_encoder_help.pdf**: 该文件可能涉及Adobe ...

    一个Flex,java入门小工程

    本教程主要针对初学者,旨在介绍如何使用Flex与Java进行集成开发,通过一个简单的入门工程,让你快速掌握这两项技术的结合运用。Flex是Adobe公司开发的一种富互联网应用程序(RIA)框架,主要用于构建用户界面,而...

    ActionScript3.0从入门到精通

    2. Flex SDK:基于MXML和AS3的框架,用于构建ria,提供组件库和构建工具。 八、性能优化 1. 缓存位图:对频繁变动的复杂矢量图形,可以使用`cacheAsBitmap`提高渲染性能。 2. 池技术:复用对象以减少内存分配和...

    arcgis_flex.rar_FLEX ARCGIS_arcgis_arcgis flex_flex

    2. **ArcGIS Flex API详解**:详细讲解ArcGIS Flex API的各种组件和方法,如何创建地图、添加图层、进行空间分析等。 3. **案例分析**:提供示例代码和实际应用案例,帮助理解如何将GIS功能集成到Flex应用中。 4. ...

    Flash builder 4 快速入门

    《Flash Builder 4 快速入门》是一本旨在帮助初学者快速掌握Adobe Flash Builder 4这一强大的Flex和ActionScript开发工具的教程。Flash Builder 4是专为构建富互联网应用程序(RIA)而设计的集成开发环境(IDE),它...

    flex 4 开发帮助文档

    这部分内容讲解了如何在Flex项目中结合使用MXML和ActionScript。 - **事件处理**:介绍了Flex中的事件模型和事件处理机制。学习如何处理用户输入和其他事件是开发响应式应用程序的关键。 - **访问服务器端数据**:...

Global site tag (gtag.js) - Google Analytics