Flex中直接获取某个组件的对象方案1:
遍历这些button所在的容器的,然后通过getChildAt() 或者 getChildByName()这样的方式获取。
这是常规的做法,这种做法的弊端:每次都需要遍历100次button,显然效率很慢。
Flex中直接获取某个组件的对象方案2:
当建立新的button后,将这个button存放到哈希表里面,其键-值的设定关系:key = button.id; value = button;即键里面保存的button的id,而value里面保存的button对象。object[ 'button20' ] = btn20;
在使用的时候,直接取得第20个button的做法:var button : Button = object[ 'button' + 20 ];
这样做无疑要比第一种方式快很多倍,但是这种做法的弊端:需要建立一个哈希表,当你的数据过多的时候,无疑这个哈希表将会很大。
Flex中直接获取某个组件的对象方案3:
我们第一不需要遍历100次button容器,第二不需要建立一个哈希表。我们只是用this[xxxx]的方式,即可取出第20个button。
具体做法:var button : Button = this[ 'button' + 20 ];即可完成操作。无论这些button在什么地方?在什么样深度的容器里面,只要是它仍在这个project里面,就可以使用this[xxx]的方式取出。
无疑这种做法是高效的,其实我们仔细看一下this[xxx]其实也是使用哈希表的方式,只不过比方案2好在,我们不需要再建立一个哈希表,这样能节省很多的内存空间。
具体请看一下第三种方法的demo:
-
<?xml version="1.0"?>
-
<mx:Application xmlns:mx="http://www.adobe.com/2006/mx
- <mx:Script>
- <![CDATA[
-
private var newFontStyle:String;
-
private var newFontSize:int;
-
-
public function changeStyle( s : String ) : void {
-
s = "button" + s;
-
this[ s ].setStyle( "fontSize", 20 );
-
}
-
]]>
- </mx:Script>
- <mx:Button id="button1" click="changeStyle('2')" label="Button 1" />
- <mx:Button id="button2" click="changeStyle('1')" label="Button 2" />
-
</mx:Application>
分享到:
相关推荐
为了使某个组件作为`drag initiator`或`drop target`,需要为特定事件编写事件处理器,如`dragDrop`或`dragEnter`事件。对于常见的拖放组件,Flex提供了内置事件处理来自动执行拖放操作。这些控件继承自`ListBase`类...
例如,我们可以通过数据绑定将复选框的状态与树节点的数据对象中的某个属性关联,从而实现节点选择状态的动态更新。 5. 全选和反选功能:在实现带复选框的列表树时,通常会提供全选和反选的功能。全选允许用户一次...
Flex中的每一个UI组件都对应于一个ActionScript类。例如,`<mx:Button>`对应于`mx.controls.Button`类。通过ActionScript可以进一步定制这些组件的行为。 ##### 3. 数据绑定 Flex支持数据绑定,这是一种将数据模型...
视图组件通过数据绑定直接连接到模型对象,当模型数据改变时,视图会自动反映这些变化。例如,一个列表组件可以通过数据绑定显示`BuddyAppModelLocator.buddyList`的内容。 **Controller(控制器)** 控制器负责...
6. **添加到舞台**:为了让点可见,我们需要将`Sprite`对象添加到舞台上的某个容器或者直接添加到应用的根容器`Application`中。 ```actionscript addChild(myPoint); ``` 现在,我们已经成功在Flex中画出了一个点...
### 关于Flex中的Query查询详解 在Flex框架中,针对地图和属性之间的查询操作是非常重要的一个环节,尤其是在地理信息系统(GIS)应用开发中。本文将详细介绍如何利用Flex进行地图查询,包括基本概念、代码实现以及...
当XML文档中某个节点有多个子节点时,通常会返回一个XMLList对象。我们可以使用XPath表达式或属性访问语法来访问XMLList中的节点。 接下来,我们关注HTTPService。HTTPService是Flex的网络服务组件,用于与Web...
在Flex中,创建实时更新的曲线图主要依赖于`setInterval`方法来定期执行某个函数,以及`mx:LineChart`组件来展示图表数据。 #### 1. `setInterval` 方法 `setInterval` 是JavaScript中的一个内置函数,它可以定期...
1. **创建FileReference对象**:在Flex3中,可以使用FileReference.create()方法创建一个FileReference对象,然后绑定到UI组件(如Button)的click事件上,触发文件选择对话框。 2. **选择文件**:当用户点击按钮并...
MXML是标记语言,用于声明界面布局和组件,而ActionScript是面向对象的脚本语言,处理逻辑和交互。 2. SDK与IDE:Flex SDK包含了编译Flex应用所需的所有工具,可以与免费的Flex Builder(现为Flash Builder)或集成...
4. **数据交互流程**:在Flex应用中,通常会创建一个HTTPService或WebService对象,配置其URL、方法和其他参数,然后定义一个事件监听器来处理返回的数据。当用户触发某个操作时,如点击按钮,服务会被调用,然后在...
4. Flex组件:在提供的文件名称列表中,我们看到了如MyApp.mxml、Edit.mxml、Cart.mxml等文件,这些都是Flex应用中的组件或模块。MXML是Flex中用于构建用户界面的标记语言,类似于HTML。这些文件可能分别代表应用的...
Flex事件机制是Adobe Flex应用程序中处理用户交互和组件通信的核心组成部分。它主要涉及事件流、事件处理程序以及事件对象的概念,这些在构建富互联网应用程序(RIA)时扮演着至关重要的角色。下面将对这些概念进行...
- 在JavaScript中,通常使用`window['button']`或`document.getElementById('button')`来获取Flex组件的引用,这是因为Flex组件在HTML中是作为IFrame加载的,所以它们位于一个不同的命名空间中。 - 为了确保跨域...
在Flex中,拖拽编程是一种常见的交互设计方式,允许用户通过鼠标或其他输入设备将元素从一个位置拖动到另一个位置,常用于数据迁移、组件布局调整或游戏设计等场景。下面我们将详细探讨Flex中的拖拽编程。 1. **...
2. **ActionScript**:Flex的主要编程语言,是一种面向对象的语言,与JavaScript类似但功能更强大。在RPG Demo中,ActionScript被用来编写游戏逻辑,包括角色移动、战斗系统、物品管理等。 3. **图形渲染**:Flex...
UIComponent是Flex中最基本的组件类,它是所有可视组件的基类,提供了核心的布局、绘制和事件处理机制。用途包括构建自定义组件、管理布局以及实现复杂的用户界面。 ### 19. 如何处理Flex 3中的bug,了解一些常见...
- 例如,获取XML中的某个节点值: ```actionscript var nodeValue:String = yourXMLNode.@attributeName; ``` - 遍历XML节点: ```actionscript for each (var item:XML in yourXMLList) { trace(item.name...
本文将详细探讨基于Adobe Flex的iLOG地图示例源码,帮助开发者理解和掌握如何在Flex环境中集成和使用iLOG地图功能。 iLOG地图是一款功能强大的地图组件,它提供了丰富的地图渲染、交互和定制化功能,适用于各种Web...