- 浏览: 762906 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (573)
- Java基础 (76)
- C++基础 (5)
- hibernate (5)
- struts (4)
- spring (1)
- webservice (7)
- AjaX基础 (0)
- JS脚本 (53)
- 正则表达式 (5)
- html脚本 (30)
- 数据库基础 (54)
- 工作相关 (49)
- 其他 (30)
- Linux (9)
- web服务器 (17)
- JSP (13)
- eclipse (6)
- 面试题相关 (20)
- XML (3)
- Apache common (2)
- 生活 (35)
- VMware (1)
- log4j (9)
- BeanUtils (2)
- 设计模式 (3)
- UML (1)
- UNIX (1)
- ibats (5)
- GT-Grid (17)
- ABAP学习 (17)
- ABAP (35)
- ABAP--ALV (11)
- ABAP--WEBDIMPRO (0)
- abap-sample (1)
- BEMS (2)
- flex (33)
- GIS技术 (3)
最新评论
如要重写组件,就不得不了解Flex中组件初始化过程。初始化过程中,系统依次调用组件的一下方法
Constructor -> createChildren() -> commitProperties() -> measure() -> updateDisplayList()
介绍下各个函数的作用:
Constructor构造器,不用说了吧
createChildren用来创建组件的子对象(比如你在Panel里添加了个Button,就在这时addChild)
commitProperties用来设置各个对象的属性(例如x,y坐标等等)
measure用来计量该组件的大小(以便Flex布局管理器能正确知道该组件的大小,给其分配适当空间)
updateDisplayList用来重绘组件(在组件改变大小、移动位置等时候调用)
添加了可视化元素的自定义组建(说得直白点,就是样子和基类组件不同了),必须要重写createChildren()函数和updateDisplayList()函数。
当自定义的组建需要对传入的某个属性做出反应的话,就应该重写commitProperties函数。
当自定义的组件和基类组件的大小不一致时,就应该重写measure方法,保证提供正确的大小信息。
<--- 注意重写以上方法时,要先调用基类的相应方法 --->
以下是一个自定义组件,在Panel的右上角新加了一个按钮
Constructor -> createChildren() -> commitProperties() -> measure() -> updateDisplayList()
介绍下各个函数的作用:
Constructor构造器,不用说了吧
createChildren用来创建组件的子对象(比如你在Panel里添加了个Button,就在这时addChild)
commitProperties用来设置各个对象的属性(例如x,y坐标等等)
measure用来计量该组件的大小(以便Flex布局管理器能正确知道该组件的大小,给其分配适当空间)
updateDisplayList用来重绘组件(在组件改变大小、移动位置等时候调用)
添加了可视化元素的自定义组建(说得直白点,就是样子和基类组件不同了),必须要重写createChildren()函数和updateDisplayList()函数。
当自定义的组建需要对传入的某个属性做出反应的话,就应该重写commitProperties函数。
当自定义的组件和基类组件的大小不一致时,就应该重写measure方法,保证提供正确的大小信息。
<--- 注意重写以上方法时,要先调用基类的相应方法 --->
以下是一个自定义组件,在Panel的右上角新加了一个按钮
package com.lheric { import mx.containers.Panel; import mx.controls.Button; public class MaxRestorePanel extends Panel { //新增的按钮 protected var _maxMinBtn:Button; //按钮与边缘的间隔 protected var _gap:int = 5; public function MaxRestorePanel() { super(); } protected override function createChildren():void { //base class super.createChildren(); //custom _maxMinBtn = new Button; _maxMinBtn.width = 50; _maxMinBtn.height = 10; rawChildren.addChild( _maxMinBtn ); } protected override function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void { //base class super.updateDisplayList(unscaledWidth,unscaledHeight); //custom //size _maxMinBtn.setActualSize( 20, 20 ); //position var x:int = unscaledWidth - _maxMinBtn.width - _gap; var y:int = _gap; _maxMinBtn.move( x, y ); } } }
发表评论
-
Flex 非常实用的资料
2012-05-31 15:38 1188【改变输出swf的尺度,背景颜色或帧频】 在"Na ... -
Flex正则表达式规则
2012-05-31 15:35 16671.Flex正则表达式规则 1.1普通字符 字母、数字、汉 ... -
Flex中[Bindable]的使用心得
2012-05-30 16:55 895在Flex编程中,Bindble使用到最多的元数据。该标签可以 ... -
FLEX元标签_Bindable
2012-05-30 16:46 10581 概述 [Bindable ... -
Flex Bindable
2012-05-30 16:41 804对一个类声明绑定,相当于给这个类里的所有属性都声明了绑定。等同 ... -
Flex [Bindable] 以及使用方法
2012-05-30 16:37 1101绑定: 举个例子: 给下面的public变量加上[Bind ... -
关于flex开发自定义组件需要注意的问题
2012-05-23 14:24 1119一.首先回答,为什么要 ... -
flex,datagrid多列排序
2012-03-21 15:01 1049<?xml version="1.0" ... -
flex,datagrid 按照列来排序
2012-03-21 13:56 2110排序部分 import mx.controls.DateFie ... -
flex 动态给控件赋值,通过反射遍历MXML中的组件
2012-03-21 13:52 1312flex 动态给控件赋值,通过反射遍历MXML中的组件。当有1 ... -
flex双击不生效问题
2012-03-21 13:50 907今天用到flex的doubleclick的事件,但是不生效,原 ... -
FLEX datagrid 点击列头排序后,行编辑问题
2012-03-21 13:45 951点击列头排序后。行编辑事件结束后,adobe默认会自己重新将d ... -
flex内存管理机制
2012-03-20 13:44 921一.简述Flex内存释放优 ... -
Flex 内存处理的方法
2012-03-20 11:25 8261.当任何对象unload后,fl ... -
Flex3 Profile的使用
2012-03-13 15:38 928flex的profile就是一个性能监测器,也是adobe向传 ... -
FLEX内存释放优化原则
2012-03-13 15:36 796FLEX内存释放优化原则: 1. 被删除对象在外部的所有引 ... -
flashplayer的缓存目录
2012-03-13 15:34 3027flashplayer的缓存目录是: XP系统下是C:/Do ... -
swf 更新后,客户端不需要清空缓存即可查看最新版本
2012-03-13 14:20 2341我们在用Flex开发应用的时候,每次修改了swf,上传到服务器 ... -
用RSL来为你的flex程序减肥
2012-03-13 14:19 1120用RSL来为你的flex程序减肥 问题:一个只有几个控件的 ... -
Flex控制session方法
2011-12-07 08:52 1039采用filter 监控 MessageBrokerServle ...
相关推荐
Flex4自定义组件 介绍了flex中如何自定义组件以及相关应用
flex 高级自定义组件 需要重写的方法,以及为什么要重写,何时调用等。
flex 自定义组件,UI,flex 自定义组件。
Flex3自定义组件类似于Fieldset
flex4.5自定义组件介绍,自定义组件前提条件
Flex自定义组件和自定义事件的使用。 Flex自定义组件和自定义事件的使用。
研究Flex 组件声明周期,了解组件的生成步骤
你还在头痛flex4组件皮肤怎么自定义吗?看我给你们上传的吧;因皮肤中还是有部分mx组件,如果不能正常使用,请自己把所以mx组件改成sp组件
flex自定义组件事件DEMO,一个简单的flex自定义组件的demo
FLex自定义写的控件,有时间,datagrid,tree,combox等,以及常用的处理字符串,弹出窗口
很通用的Flex 分页组件,经过本人测试,可以应用到项目中,很方便
因为工作原因和个人兴趣原因,刚接触flex,遇到不少问题,这次花了一个早上的时间专门研究了一下组件件的拖拽,呵呵,还是很有成就感的。
Flex组件开发可分为两种. 一是在mxml中创建自定义组件.另一种则在actionscript class中创建,分别知道他们的含义。
NULL 博文链接:https://sy19861216.iteye.com/blog/669156
FLEX自定义的日历组件,带有日志记录功能FLEX自定义的日历组件,带有日志记录功能FLEX自定义的日历组件,带有日志记录功能FLEX自定义的日历组件,带有日志记录功能
flex flex组件 flex下拉组件
flex树自定义节点图标的页面及自定义树形组件源码
几经尝试发现是由于Flex控件在旋转后中文就不显示了,因此做了相应修改以支持中文,并添加了一些删除,增加子组件的方法,以方便编程式的使用。当然如果熟悉了Flex组件的生命周期,可以根据需求增添功能。 对于中文...
Flex CSS简介 Flex 使用MXML设置样式 Flex 使用ActionScript设置样式 Flex 样式的继承与叠加 Flex 主题的使用 Flex 自定义皮肤 Flex 应用皮肤