关于FLEX中的隐藏方法(mx_internal)
最终我决定还是用“隐藏”这个不是很合适的词。mx_internal是一个自定义命名空间,至于“命名空间”到底是什么就不在这里说了。总之,当我们在代码头部写上:
use namespace mx_internal
(如果是.AS文件,需要手动import mx.core.mx_internal,注意这个不会有代码提示)
那么所有以mx_internal为命名空间的方法就会成为和public一样的方法,也可以在代码提示中正常地列出(会被标记为黄色)。
下面列举几个mx_internal方法
contentPane
所有的UI容器都会有这样一个属性,他的作用是在原有的容器里再套上一个子容器,方便放置内容。但要注意,contentPane不一定有值,某些时候就是直接放在原来的容器里。(具体的我就没看了)
由于有这样一个东西,而这个东西的mouseEnabled默认为true,所以,当你将Canvas和Canvas里的组件mouseEnabled设置为false后,会发现Canvas里的组件还是会遮挡下面的鼠标事件。这就是因为在Canvas和组件之间隔了一层依然可以触发鼠标事件的contentPane。
因此,只要设置Canvas的contentPane.mouseEnalbed=false即可
$addChild
众所周知,Canvas,Application容器是不能直接addChild一个Sprite的。其实不然,$addChild调用的是super.addChild(),参数是DisplayObject,所以即使是Sprite也可以载入。
UI容器的addChild执行了非常多的操作,换成$addChild,我们有理由相信会出现各种各样的问题。这个例子只是为了说明,UI控件与容器其实没有本质区别,禁止直接加载Sprite,是为了强制你使用UI控件。毕竟不愿意用UI控件的话,还用FLEX干什么?
createdComponents
Repeater是制作论坛的首选,但我用这个用得比较少。
总之,第一次用的时候,我死活找不到如何获得Repeater中的某个特定对象,所以就找到了这个createdComponents属性,它里面包含了Repeater的对象数组。
renderArray
DataGrid的所有itemRenderer对象,都在里面- -
首先,不建议大家用这个,itemRenderer有特殊的生成及销毁方式,它的实例引用是非常不靠谱的。正常来讲,都应该用数据来进行两者之间的交互。
一定要用的话,renderArray是一个2维数据,一行,一列。其实这个属性基本没什么用,只要DataGrid一滚动,整个对应关系就乱掉了。
从上面可以看出,这些方法很多都是些不是很靠谱的方法,他们并不稳定。这就是他们是mx_internal而不是public的原因,
一般情况下,强烈不建议使用他们。除非,你实在走投无路。而且他们随时
相关文档:
Adobe Flex 编码规范 收藏
该文档中创建的实例是基于DClick 的工作方法,Java 编码约定和Adobe Flex SDK 中的约定。
二、文件:
2.1 文件扩展名
MXML 代码:.mxml
ActionScript 代码:.as
CSS 代码:.css
2.2 文件名不能包含空格、标点和特殊符号
ActionScr ......
用的是MySQL数据库。
1,建一个userdb库,再建userinfo表,字段:id(int),username(varchar),password(varchar)。
create database userdb;
use userdb;
create table userinfo(
id int(10) not null auto_increment,
username varchar(20),
password varchar(20),
primary key(id));
2,DBConnection.jav ......
在项目中自定义一个CheckboxGroup,这个控件里面包含多个Checkbox想控制Checkbox的行为:所以使用查找一下帮助使用flex中经典方法:getDefinitionByName 函数的使用
public function getDefinitionByName(name:String):Object
返回参数 name 中指定的类引用
参数 name:String - 类名称
返回 Object - 返回参数 name 中 ......
Flex是开发Ria的利器,Flash在动画 游戏等方面较强大,可以制作出更生动 形象,富有乐趣性的交互产品来。
在多数情况下需要2者结合。
两者之间的通讯是依靠事件机制完成的。
以下的例子是:Flash提交数据给Flex,Flex改变Flash的数据。
1:Flash CS4工具打开
按如下 属性 制作界面
2:按 F9 ,输入以下代码:
......
1.监听事件时用弱引用方式(特别是对Applicatiion.applicaion和Stage的事件监听),方式如下:第五个参数值为true
Application.application.addEventListener(MouseEvent.CLICK,doClick,false,0,true);
2.集合类如Array和Dictionary里的元素,在不用的时候要设置为null;(尤其是主页面上的集合类),如:myMap[o]=null;
3. ......