Flex教程Flex程序开发初步

Flex应用程序是由ActionScript 3.0书写的,一个可选静态类型语言,引出面向对象编程的概念和功能。ActionScript 3与JavaScript语法非常相似--大部分JavaScript代码的编译与ActionScript代码是同样有效的--但是仍然增加了与Java类似的,基于类别的设计模型。

站在用户的角度思考问题,与客户深入沟通,找到合浦网站设计与合浦网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:做网站、成都网站建设、企业官网、英文网站、手机端网站、网站推广、域名申请雅安服务器托管、企业邮箱。业务覆盖合浦地区。

除ActionScript之外,Flex库为用户界面设计提供一种基于XML的领域特定语言,MXML。Flex编译可以将MXML代码转换为ActionScript,然后将ActionScript代码转变为Flash bytecode。开源Flex SDK包括一系列丰富的用户界面窗口工具,并且那里也有一个欣欣向荣的可共享的第三方Flex库。用JavaFX写用户界面控制器

Flash Player的流行主要是因为其作为一种矢量图形嵌入,或者是Web页面内的Flash movie。这个设计目标被延续到以后每个Flash Player版本中,使得Flex应用嵌入到HTML页面变得非常容易。

想像一下最初版本的图书馆管理程序就是使用JSP页面展示了可用的详细目录,使用HTML表格标签。如果图书馆在目录内拥有成千上万的标题,用户就必须等待浏览器上面显示一个很长的HTML列表,或者翻阅目录,大概每页上面会有20个标题。

用Flex数据网格组件替代HTML表格会带了几点好处:Flex数据网格可以负载全部的目录清单,因为它的显示速度要比HTML快得多;数据网格支持内置的排序表,列调整以及数据筛选;数据网格列可以具有不同的格式程序,它们基于列表的数据类型;数据网格支持打印。

以下的实例包含了这种资源的代码,为Flex应用展示如下数据网格:

 
 
 
  1. ﹤ xml version="1.0" encoding="utf-8"?﹥ 
  2.   ﹤ mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"﹥
  3.   ﹤ mx:DataGrid width="100%" height="100%" id="inventoryTable"/﹥
  4.   ﹤ /mx:Application﹥

列表一,Flex数据网格

Flex应用在MXML中有完整的描述,并且在应用程序元素里面包括一个公开的Flex数据网格组件。数据网格是一种ActionScript类,就像任何一种ActionScript类,它也可以从MXNL中使用:编译者将会从XML名字空间以及标签名称中找到ActionScript类名称。

ActionScript语言支持工具,并且ActionScript对象工具可以在MXML中被指定,就像XML属性值。实例中的数据网格被分配了一种id特质,定义了一种方法来引入网格组件。我们也确定网格必须扩展到与Flex应用具有同样得深度和广度。在Java Web 应用程序上放入YUI Face

这种应用程序编译的结果是二进制文件,BooksInventory.swf。SWF(Shockwave Flash格式)可以使用嵌入方式或者对象HTML标签嵌入到现有的HTML页面。浏览器idiosynchracies使得这种嵌入多少有些复杂;但是开源SWF对象项目使得很多复杂情况的解决变得更加自动化(FlexBuilder也会为SWF文件产生适当的的HTML标签)。

下面的这个片段展示的就是使用SWFObject JavaScript API将BooksInventory.swf嵌入到HTML活着JSP页面中。注意这种技术是如何日益增强HTML页面的:如果Flash Player 的应用版本--版本10在这种情况下--出现,SWFObject's embedSWF()方式将会审核;如果不是,库将会尝试着插入Flash Player。然后将Flex应用放入到600*400像素范围内,替代replaceConten元素的内容。

 
 
 
  1. ﹤ html﹥ 
  2.   ﹤ head﹥
  3.   ﹤ meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/﹥
  4.   ﹤ script type="text/javascript" src="swfobject.js"/﹥
  5.   ﹤ script type="text/javascript"﹥
  6.   swfobject.embedSWF("BooksInventory.swf",
  7.   "replaceContent",
  8.   "600", "400",
  9.   "10.0.0", "playerProductInstall.swf");
  10.   ﹤ /script﹥
  11.   ﹤ /head﹥
  12.   ﹤ body﹥
  13.   ﹤ div id="replaceContent"﹥
  14.   ﹤ !-- Original HTML table here--﹥
  15.   ﹤ /div﹥
  16.   ﹤ /body﹥
  17.   ﹤ /html﹥

列表二,嵌入SWF文件到HTML,伴有SWF对象

你可以使用FlashVars从HTML页面传递数据到Flex组件。FlashVars是你指定到Flash Player对象的一个参数,是由名称/值成对组成的,由分隔符&分开。

SWFObject使得这种分配非常容易:它允许JSON-style标记到指定的FlashVars。然后定义JSON数列作为bookInventory的变数值。书籍库存量数据阵列必须在一个String中,因为FlashVar只能被分配String值。如果手工来做这工作就太乏味了,但是JSON数据有可能从一个服务器上的数据源引发,当创建HTML 或者 JSP (或者PHP或者Ruby on Rails)页面的时候。也有可能当页面在客户端完全下载下来以后,使用异步Ajax呼叫检索JSON数据。

The flashvars variable is passed to the Flex application as a parameter to embedSWF():

Flashvars变数被传递到Flex应用,作为embedSWF()的参数:

 
 
 
  1.  ﹤ html﹥ 
  2.   ﹤ head﹥
  3.   ﹤ meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/﹥
  4.   ﹤ script type="text/javascript" src="swfobject.js"/﹥
  5.   ﹤ script type="text/javascript"﹥
  6.   var flashvars = {
  7.   bookInventory: '[' +
  8.   '{"Title":"Programming in Scala", ' +
  9.   '"Author(s)":"Odersky, Martin. Lex Spoon. Bill Venners",' +
  10.   '"Year": 2008,' +
  11.   '"Publisher": "Artima Press", ' +
  12.   '"Price": 49.95, ' +
  13.   '"Stock": 1520' +
  14.   '}, ' +
  15.   '{"Title":"Essential ActionScript 3", ' +
  16.   '"Author(s)": "Moock, Colin", ' +
  17.   '"Year": 2007,' +
  18.   '"Publisher": "O\'Reilly", ' +
  19.   '"Price": 47.95, ' +
  20.   '"Stock": 2500' +
  21.   '}, ' +
  22.   '{"Title":"Programming Erlang", ' +
  23.   '"Author(s)": "Armstrong, Joe", ' +
  24.   '"Year": 2007,' +
  25.   '"Publisher": "Pragmatic", ' +
  26.   '"Price": 32.95, ' +
  27.   '"Stock": 3525' +
  28.   '}' +
  29.   ']'
  30.   };
  31.   swfobject.embedSWF("BooksInventory.swf",
  32.   "replaceContent",
  33.   "600", "400",
  34.   "10.0.0", "playerProductInstall.swf",
  35.   flashvars);
  36.   ﹤ /script﹥
  37.   ﹤ /head﹥
  38.   ﹤ body﹥
  39.   ﹤ div id="replaceContent"﹥
  40.   ﹤ !-- Original HTML table here--﹥
  41.   ﹤ /div﹥
  42.   ﹤ /body﹥
  43.   ﹤ /html﹥

列表三,HTML中公开的FlashVars

处理JSON

设定初始化值之前,我们希望应用程序能够检索bookInventory flashVar,作为表格数据源分配它的值。接下来的代码在Flex应用中的实现如下:

 
 
 
  1.   ﹤ xml version="1.0" encoding="utf-8"?﹥ 
  2.   ﹤ mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
  3.   creationComplete="onCreationComplete()"﹥
  4.   ﹤ mx:Script﹥
  5.   ﹤ ![CDATA[
  6.   import com.adobe.serialization.json.JSON;
  7.   private function onCreationComplete():void {
  8.   var invParam:String = Application.application.parameters.bookInventory;
  9.   inventoryTable.dataProvider = JSON.decode(invParam) as Array;
  10.   }
  11.   ]]﹥
  12.   ﹤ /mx:Script﹥
  13.   ﹤ mx:DataGrid width="100%" height="100%" id="inventoryTable"/﹥
  14.   ﹤ /mx:Application﹥

当前文章:Flex教程Flex程序开发初步
文章起源:http://www.hantingmc.com/qtweb/news8/400258.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联