写了一个vector类用来对数组进行维护,到new vector()一直报错,原来flex 中有vector,后来将该类名字换了,就不报错了。
import mx.collections.ArrayCollection;
public class VArray
{
//向量元素的存储列表
private var _source:ArrayCollection=new ArrayCollection();
//当前访问的向量元素的索引
private var _curIndex:int=-1;
public function VArray()
{
_source=new ArrayCollection();
_curIndex=-1;
}
/**
* 向向量末尾添加一个元素
* param element
* 要添加的元素
*/
public function add(element:Object):void
{
_source.addItem(element);
trace("add a element at last index");
}
/**
* 向向量中某一个位置添加一个元素
* param element
* 要添加的元素
* param index
* 向量中的位置。如果小于0,则默认为第一个位置;如果大于向量长度,则默认为末尾位置
*/
public function addAt(element:Object, index:int):void
{
if (index < 0)
index=0;
if (index > size())
index=size();
_source.addItemAt(element, index);
trace("add a element at index");
}
/**
* 获取向量中某一位置的元素
* param index
* 元素位置,当该位置<0或>size()时,返回空元素
*/
public function getItemAt(index:int):Object
{
if (index < 0 || index > size())
{
return null
trace("index is ")
}
return _source.getItemAt(index);
}
/**
* 清空向量
*
*/
public function clear():void
{
_source.removeAll();
}
/**
* 删除某一位置上的元素,同时返回该元。当该位置<0或>size()时,返回空元素
* param index
* 元素位置
*/
public function removeItemAt(index:int):Object
{
if (index < 0)
return null;
if (index > size())
return null;
return _source.removeItemAt(index);
}
/**
* 返回向量中元素的个数
*
*/
public function size():Number
{
return _source.length;
}
/**
* 获取当前元素的下一个元素,如果没有,则返回空元素
* return 下一个元素
*/
public function next():Object
{
var element:Object=null;
if (hasNext())
{
_curIndex++;
element=_source.getItemAt(curIndex);
trace("has next");
}
return element;
}
/**
* 获取当前元素的上一个元素,如果没有,则返回空元素
* return 上一个元素
*/
public function previous():Object
{
var element:Object=null;
if (hasPrevious())
{
_curIndex--;
element=_source.getItemAt(curIndex);
trace("has previous");
}
return element;
}
/**
* 判断是否有下一个元素
* return true
* 有
* false
* 没有
*/
public function hasNext():Boolean
{
return curIndex < size() - 1;
}
/**
* 判断是否有上一个元素
* return true
* 有
* false
* 没有
*/
public function hasPrevious():Boolean
{
return curIndex > 0;
}
/**
* 判断向量是否为空
* return true
* 为空
* false
* 不为空
*/
public function isEmpty():Boolean
{
return _source.length == 0;
}
/**
* 获取当前元素索引,只读属性
*
*/
public function get curIndex():int
{
return _curIndex;
}
/**
* 获取全部元素的列表,只读属性
*
*/
public function get source():ArrayCollection
{
return _source;
}
}
分享到:
相关推荐
在Flex中,有固定大小数组(Array)和动态数组(Vector)两种。数组的元素可以是任何类型,而Vector则需要指定元素类型,提供更好的类型检查和性能。类型转换是将变量从一种类型转换为另一种类型的过程,如Number到...
Flex是一种基于ActionScript 3.0的开源框架,主要用于创建富互联网应用程序(RIA)。在Flex中,我们可以利用其强大的组件库来构建用户界面,其中包括创建自定义多级系统菜单的功能。这个“flex自定义多级系统菜单”...
在这种情况下,动态数组或可扩展数组(如C++中的`std::vector`)应运而生。在您提供的资料中,“flex_array”似乎是一个自定义的动态数组实现,它具有灵活调整大小的能力,适用于那些需要在运行时改变数组容量的场景...
1. **数据管理**:你需要有效地管理从服务器获取的大量数据,例如使用ArrayCollection或Vector存储数据,这些数据结构支持数据绑定并提供了数据操作的方法。 2. **性能优化**:由于所有数据都在客户端,需要注意内存...
var interfaces:Vector.<NetworkInterface> = NetworkInfo.networkInfo.findInterfaces(); for (var i:uint = 0; i ; i++) { if (interfaces[i].name.toLowerCase() == "wifi" && interfaces[i].active) { lbl....
图片画线则可能涉及SVG(Scalable Vector Graphics)技术。SVG是一种基于XML的矢量图像格式,它可以被用来创建可缩放的线条、形状和其他图形,并且这些图形可以与JavaScript交互。在图片上画线,可以通过在SVG画布上...
在本文中,我们将深入探讨如何使用Adobe Flex实现3D物体的旋转效果,以及如何通过鼠标交互来控制这种旋转。Flex是一种强大的开发框架,主要用于构建富互联网应用程序(RIA),它允许开发者使用ActionScript 3和MXML...
在本篇文章中,我们将深入探讨如何使用Flex与Adobe AIR技术来执行本地的exe与bat文件。根据提供的文件信息,文章标题“flex air 代码运行 exe 、bat”以及描述部分都明确指出了这一主题的核心——利用Flex程序启动...
3. **导出为SWF或SVG**:将设计导出为SWF(Shockwave Flash)或SVG(Scalable Vector Graphics)格式,以便在Flex项目中使用。 4. **创建皮肤组件**:在Flex项目中,使用MXML或ActionScript编写皮肤类。导入导出的...
标题中的"vt.zip_flex"可能是一个压缩包文件,其中包含与“flex”相关的资源或代码。"Flex"通常指的是Adobe Flex,一个用于构建富互联网应用程序(RIA)的开源框架,它基于ActionScript和MXML语言,允许开发人员创建...
var results:Vector.<mx.events.ValidationResult> = Validator.validateAll(this); if (results.length > 0) { for each (var result:mx.events.ValidationResult in results) { trace(result.error.message); ...
- **语法**:`var myVector: Vector.<Type> = new Vector.();` ##### 3.3 使用事件冒泡机制 - **原理**:事件冒泡是指事件从最深层的节点开始向上冒泡,直到到达文档根节点。 - **示例**:如果一个按钮嵌套在另一...
在Flex的AIR(Adobe Integrated Runtime)环境中,获取本机IP地址和MAC地址是常见的需求之一,尤其是在开发网络应用时。本文将详细介绍如何在AIR环境下利用Flex SDK中的`flash.net.NetworkInfo`类来实现这一功能。 ...
本资源"Flex流程设计源码"聚焦于利用Flex技术进行流程设计,通过AJAX(Asynchronous JavaScript and XML,异步JavaScript和XML)与SVG(Scalable Vector Graphics,可缩放矢量图形)的对比,突显了Flex在创建动态、...
Vector AUTOSAR Components各个BSW模块。 1、BSWMD文件:存放arxm文件; 2、Documentation文件:存放关于BswM模块相关配置的说明文档pdf; 3、GeneratorMsr文件:BswM生成相关的工具文件*.jar; 4、Implementation...
- **Collections**: ArrayList、Vector等集合类,用于管理和操作数据。 8. **Flex与后端通信** - **AMF**: Action Message Format,一种高效的二进制数据格式,用于Flex与服务器之间高效的数据传输。 - **...
类型化的向量(Vector类)是Flex中用于存储同类型数据的集合。它们提供了一种高效且类型安全的方式来管理大量数据,尤其是在需要频繁访问和操作数据集的情况下。例如,创建一个存储字符串的类型化向量可以这样写:`...
EOT(Embedded OpenType)主要用于Internet Explorer,WOFF(Web Open Font Format)是现代浏览器广泛支持的标准,TTF(TrueType Font)和SVG(Scalable Vector Graphics)字体则提供了更广泛的兼容性。 3. **...
8. **图形渲染**:Flex使用Vector图形,可以呈现高质量、高分辨率的图形,同时支持位图图像,使得创建丰富的视觉效果成为可能。 9. **服务连接**:Flex可以与各种后台服务进行通信,包括AMF(Action Message Format...