打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Flex精华摘要 1:如何开始
你至少需要了解两种语言才能开发Flex应用程序:MXML和ActionScript。MXML是一种XML标记语言,主要用来设置Flex的用户界面,还包括一些不可见的元素,例如访问数据源、数据绑定等。ActionScript是一种面向对象的编程语言,采用ECMAScript第4版的标准,用来完成程序逻辑和响应用户的交互。
和HTML的方式一样,MXML定义了相关的标记来表示不同的用户界面,区别的是比HTML更严格和有着更丰富的标记集。例如,MXML既包含了一些可视组件如Tree、Data Grid、accordions和menu,也包含了WebSerivce连接、数据绑定、动画效果等不可视的组件。你甚至可以通过定制自己的组件来扩展MXML标记。
MXML和HTML最大的区别之一是MXML页面会被服务器编译成SWF文件,并通过FlashPlayer播放,提供了更强和更丰富的动态用户界面。
你可以在一个或多个文件中编写MXML应用程序,MXML支持定义的组件,这些组件可以是MXML文件、AS文件或者使用FlashMX2004创建的文件。在一些MXML标记中,可以包含对外部文件的引用。例如,你可以通过<mx:Script>标记的source属性来包含一个外部的AS脚本文件。
MXML支持多种方式的外部文件引用,如
  1. //1. 使用绝对地址
  2. <mx:Style source=‘http://www.somesite.com/mystyles.css‘>
  3. //2. 使用◎ContextRoot
  4. <mx:HTTPService url=‘@ContextRoot()/directory/myfile.xml‘/>
  5. //3. 使用根目录引用方式
  6. <mx:Script source=‘/myscript.as‘/>
  7. //4. 使用相当路径引用
  8. <mx:Script source=‘../myscript.as‘/>



最简单的Flex应用程序
很多编程语言的第一个例子都是编写Hello,World。MXML的Hello,World!程序也很简单
  1. <?xml version=‘1.0‘?>
  2. <mx:Application xmlns:mx=‘http://www.macromedia.com/2003/mxml‘ >
  3. <mx:Panel title=‘My Application‘ marginTop=‘10‘ marginBottom=‘10‘
  4. marginLeft=‘10‘ marginRight=‘10‘ >
  5. <mx:Label text=‘Hello World!‘ color=‘#6601D7‘ fontSize=‘24‘ />
  6. </mx:Panel>
  7. </mx:Application>


<?xml version=‘1.0‘?>是MXML的文件申明,必须写在文件的第一行
<mx:Application>是MXML文件的根标记
<mx:Label>就是MXML的组件标记之一,text color fontSize 是Label组件的属性。
下面一个例子显示了更为复杂的用户界面
     
  1. <mx:Application xmlns:mx=‘http://www.macromedia.com/2003/mxml‘>
     
  2. <
  3. mx:Panel title=‘My Application‘ marginTop=‘10‘ marginBottom=‘10‘
     
  4. marginLeft=‘10‘ marginRight=‘10‘ >
     
  5. <
  6. mx:HBox>
     
  7. <!-- List 
  8. with three items -->
     
  9. <
  10. mx:List>
     
  11. <
  12. mx:dataProvider>
     
  13. <
  14. mx:Array>
     
  15. <
  16. mx:String>Item 1</mx:String>
  17. <
  18. mx:String>Item 2</mx:String>
  19. <
  20. mx:String>Item 3</mx:String>
  21. </
  22. mx:Array>
  23. </
  24. mx:dataProvider>
  25. </
  26. mx:List>
  27. <!-- 
  28. First pane of TabNavigator -->
  29. <
  30. mx:TabNavigator borderStyle=‘solid‘>
  31. <
  32. mx:VBox label=‘Pane1‘ width=‘300‘ height=‘150‘ >
  33. <
  34. mx:TextArea text=‘Hello World‘ />
  35. <
  36. mx:Button label=‘Submit‘ />
  37. </
  38. mx:VBox>
  39. <!-- 
  40. Second pane of TabNavigator -->
  41. <
  42. mx:VBox label=‘Pane2‘ width=‘300‘ height=‘150‘ >
  43. <!-- 
  44. Stock view goes here -->
  45. </
  46. mx:VBox>
  47. </
  48. mx:TabNavigator>
  49. </
  50. mx:HBox>
  51. </
  52. mx:Panel>
  53. </
  54. mx:Application>


显示效果如下

在Flex应用程序中,也有事件的响应属性。最简单如鼠标单击事件。
  1. <mx:Application xmlns:mx=‘http://www.macromedia.com/2003/mxml‘>
  2. <
  3. mx:Panel title=‘My Application‘ marginTop=‘10‘ marginBottom=‘10‘
  4. marginLeft=‘10‘ marginRight=‘10‘ >
  5. <
  6. mx:TextArea id=‘textarea1‘/>
  7. <
  8. mx:Button label=‘Submit‘ click=‘textarea1.text=‘Hello World‘;‘/>
  9. </
  10. mx:Panel>
  11. </
  12. mx:Application>

单击Submit按钮后Textarea中显示内容为:‘Hello World‘
更加规范化的写法是使用脚本定义函数调用
     
  1. <mx:Application xmlns:mx=‘http://www.macromedia.com/2003/mxml‘>
     
  2. <
  3. mx:Script>
     
  4. <![
  5. CDATA[
     
  6. function 
  7. hello(){ 
     
  8. textarea1.text=‘Hello World‘;
     
  9.  }
     
  10. ]]>
     
  11. </
  12. mx:Script>
     
  13. <
  14. mx:Panel title=‘My Application‘ marginTop=‘10‘ marginBottom=‘10‘
  15. marginLeft=‘10‘ marginRight=‘10‘ >
  16. <
  17. mx:TextArea id=‘textarea1‘/>
  18. <
  19. mx:Button label=‘Submit‘ click=‘hello();‘/>
  20. </
  21. mx:Panel>
  22. </
  23. mx:Application>


如果希望多个组件之间可以绑定数据的话,在Flex中可以简单的实现,请注意,在属性中使用{ }标记就表示其中包含的是表达式,而不是字符串。下面的例子,如果textinput文本框的内容改变,textarea中的内容也会随之变化。
  1. <mx:Application xmlns:mx=‘http://www.macromedia.com/2003/mxml‘>
  2. <
  3. mx:Panel title=‘My Application‘ marginTop=‘10‘ marginBottom=‘10‘
  4. marginLeft=‘10‘ marginRight=‘10‘ >
  5. <
  6. mx:TextInput id=‘textinput1‘ text=‘Hello‘/>
  7. <
  8. mx:TextArea id=‘textarea1‘ text=‘‘/>
  9. <
  10. mx:Button label=‘Submit‘ click=‘textinput1.text=‘Goodbye‘;‘/>
  11. </
  12. mx:Panel>
  13. </
  14. mx:Application>


Flex可以和本地或者是远程服务器端的逻辑进行交互,其方式可以通过如下方式之一:
1 : WebService 提供基于SOAP的web服务访问
2 : HTTPService 提供了基于 HTTP访问和数据返回
3 : RemoteObject 基于AMF协议访问Java对象
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Flex编程模型
Flex 4中如何改变Halo TextArea背景颜色透明度的例子
Flex 入门教程
再谈Flex的事件
Flex 开发入门
InfoQ: Flex与JSON及XML的互操作
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服