Flex XML构建树形结构源码解析
3星 · 超过75%的资源 需积分: 3 163 浏览量
更新于2024-10-17
1
收藏 3KB TXT 举报
该资源提供了一段Flex应用的MXML代码,用于从XML数据生成一个树形结构(tree)。此代码包含了解释和事件处理函数,可以实现点击树节点时跳转到指定URL。
在Flex中,XML经常被用作数据绑定的来源,特别是对于构建动态UI组件如树形视图。这段代码展示了如何将XML数据转化为Flex中的Tree组件。以下是详细的步骤和知识点:
1. **MXML语法**:
MXML是Adobe Flex框架中用来构建用户界面的标记语言,类似于HTML,但更面向Flex组件。在这个例子中,`<mx:Application>` 是整个应用程序的根元素,包含了其他组件和属性。
2. **属性设置**:
- `fontFamily` 和 `fontSize` 定义了全局字体。
- `layout` 设置为 "absolute",意味着所有子组件的位置都是绝对的,不依赖于父容器的布局策略。
- `creationComplete` 事件处理函数会在组件完全创建后执行,这里是 `menu.send();`,这通常用于触发数据加载或初始化操作。
3. **<mx:Script>**:
这个标签用于嵌入ActionScript代码,是MXML文件中定义行为的地方。
4. **导入的库**:
- `flash.net.navigateToURL` 用于打开新窗口或标签页到指定URL。
- `mx.events.ListEvent` 用于处理与列表组件相关的事件,如点击事件。
- `mx.collections.ArrayCollection` 是一个可绑定的集合类,适用于数据绑定到UI组件。
- `mx.rpc.events.ResultEvent` 用于处理远程调用的结果事件。
5. **[Bindable] 注解**:
这个注解指示变量的值可能在运行时改变,并且这些变化应该被绑定到UI组件上。在这里,`menus` 和 `shengicon` 被标记为可绑定的。
6. **[Embed] 注解**:
`[Embed("shengicon.gif")]` 用于将外部资源(如图像)嵌入到SWF文件中,以便在运行时使用。
7. **变量声明**:
- `menus` 用于存储从服务器获取的XML数据。
- `private function LoadMenu(event:ResultEvent)` 处理远程调用结果事件,将返回的XML数据赋值给 `menus`。
8. **数据绑定**:
`tree.dataProvider = results;` 将XML数据绑定到Tree组件的数据提供者,`results` 是从 `menus.node` 获取的XML列表。
9. **事件处理**:
- `private function itemClickHandler(event:ListEvent)` 处理树节点被点击的事件。根据XML节点的属性`@href`和`@target`来决定如何处理点击行为,如打开新窗口或在当前窗口内跳转。
10. **跳转URL函数**:
`private function gotoURL(url:String, target:String):void` 执行实际的URL跳转操作,使用 `URLRequest` 对象和 `navigateToURL` 函数。
这个代码示例展示了如何在Flex中使用XML构建动态树形视图,并通过监听事件响应用户的交互操作,是Flex开发中的一个基础应用场景。
2012-12-12 上传
2019-03-16 上传
点击了解资源详情
122 浏览量
2019-04-01 上传
2019-03-21 上传
104 浏览量
2012-12-11 上传
2019-03-16 上传
yjflinchong
- 粉丝: 671
- 资源: 210
最新资源
- zabaatLib:vvolfster的QML Qt UI和应用程序库
- proposal-array-equality:确定数组相等
- SQLite v3.28.0
- jQuery css3图标动画鼠标滑过图标旋转动画特效
- vecel-antenna
- MP3格式万能转换器任何音频均可自由切换格式
- 黑马瑞吉外卖源码及工程项目全套
- Foodfy-database:Persistindo dados daaplicaçãoFoodfy
- 展示::framed_picture:课程中展示的最佳学生作品展示
- Open Virtual Reality 'L'-开源
- 影响matlab速度的代码-table-testing:表达式矩阵文件格式的要求,示例和测试
- 行业文档-设计装置-饲料用缓释型复方甜菊糖微囊的制备方法.zip
- RedisSubscribeServer.zip
- Wireshark-win32-1.8.4
- C# winform设计 钉钉 微信 二维码 扫码登录登录客户端 源码文件 CS架构
- Martin_Barroso_P2:RISCV Multiciclo con UART para corrercódigo阶乘