Flex 自定义组件要重写的方法

Flex 自定义组件要重写的方法

ID:40746041

大小:21.37 KB

页数:5页

时间:2019-08-07

Flex 自定义组件要重写的方法_第1页
Flex 自定义组件要重写的方法_第2页
Flex 自定义组件要重写的方法_第3页
Flex 自定义组件要重写的方法_第4页
Flex 自定义组件要重写的方法_第5页
资源描述:

《Flex 自定义组件要重写的方法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Flex自定义组件一般都要重写下面几个方法,他们的主要作用是什么呢?下面举例说明:1.关于createChildren()方法代码1-1显示了组件ImageViewer的createChildren()方法。代码1-1.ImageViewer的createChildren()方法1.overrideprotectedfunctioncreateChildren():void2.{3.trace('createChildren');4.super.createChildren();5.6.//创建边框CSS7.if(!this.border){8.c

2、reateBorder();9.}10.11.//创建控制按钮容器12.if(!controlBar)13.controlBar=newUIComponent();14.15.//创建放大按钮16.if(!zoomInButton){17.zoomInButton=newButton();18.zoomInButton.label="+";19.zoomInButton.addEventListener(MouseEvent.CLICK,zoomInButtonClickHandler);20.controlBar.addChild(zoomInB

3、utton);21.}22.23.//创建缩小按钮24.if(!zoomOutButton){25.zoomOutButton=newButton();26.zoomOutButton.label="-";27.zoomOutButton.addEventListener(MouseEvent.CLICK,zoomOutButtonClickHandler);28.controlBar.addChild(zoomOutButton);29.}30.31.//将控制按钮容器添加到显示节点32.addChild(controlBar);33.}在该方法

4、的末尾才把controlBar添加到DisplayList上,正如之前提到的那样,我们只在需要的时候装配他。同时,此时也是为子节点添加监听器的好地方。2.关于commitProperties()方法CommitProperties()是验证方法invalidateProperties()所对应的提交方法,也是初始化阶段会被调用的第一个提交方法。他的目的是使得任何通过set方法提交的数值更改生效。所以您可以看到在setscale()方法里,按照invalidation-validation模式,我们调用了invalidateProperties()方

5、法从而将值的生效延迟到了commitProperties()里,并且为了做到“避免对一个属性连续设置多个值,从而避免了不必要的资源浪费”,我们使用了标志位scaleChanged。代码2-1setscale()函数1.publicfunctionsetscale(value:Number):void{2.if(_scale!=value)3.{4._scale=value;5.6.//避免对一个属性连续设置多个值,从而避免了不必要的资源浪费7.scaleChanged=true;8.9.//由于调用本方法时,可能对象未创建10.//通过调用inva

6、lidateProperties(),将值的生效延迟到了commitProperties()里11.invalidateProperties();12.dispatchEvent(newEvent("scaleChanged"));13.}14.}代码2-2commitProperties()函数1.overrideprotectedfunctioncommitProperties():void{2.trace('commitProperties');3.super.commitProperties();4.5.//如果image控件不存在,则新建

7、并添加6.if(sourceChanged){7.if(!this.image){8.image=newImage();9.this.addChild(image);10.image.source=this._source;11.}else{12.image.source=this._source;13.}14.sourceChanged=false;15.}1.2.//如果scale属性改变了,则修改imageWidth3.if(scaleChanged){4.this.imageWidth=this.imageWidth*this.scale;

8、5.this.imageHeight=this.imageHeight*this.scale;6.scaleChanged

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。