- 浏览: 786730 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (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 1230【改变输出swf的尺度,背景颜色或帧频】 在"Na ... -
Flex正则表达式规则
2012-05-31 15:35 17171.Flex正则表达式规则 1.1普通字符 字母、数字、汉 ... -
Flex中[Bindable]的使用心得
2012-05-30 16:55 924在Flex编程中,Bindble使用到最多的元数据。该标签可以 ... -
FLEX元标签_Bindable
2012-05-30 16:46 11121 概述 [Bindable ... -
Flex Bindable
2012-05-30 16:41 833对一个类声明绑定,相当于给这个类里的所有属性都声明了绑定。等同 ... -
Flex [Bindable] 以及使用方法
2012-05-30 16:37 1136绑定: 举个例子: 给下面的public变量加上[Bind ... -
关于flex开发自定义组件需要注意的问题
2012-05-23 14:24 1160一.首先回答,为什么要 ... -
flex,datagrid多列排序
2012-03-21 15:01 1087<?xml version="1.0" ... -
flex,datagrid 按照列来排序
2012-03-21 13:56 2142排序部分 import mx.controls.DateFie ... -
flex 动态给控件赋值,通过反射遍历MXML中的组件
2012-03-21 13:52 1380flex 动态给控件赋值,通过反射遍历MXML中的组件。当有1 ... -
flex双击不生效问题
2012-03-21 13:50 977今天用到flex的doubleclick的事件,但是不生效,原 ... -
FLEX datagrid 点击列头排序后,行编辑问题
2012-03-21 13:45 1008点击列头排序后。行编辑事件结束后,adobe默认会自己重新将d ... -
flex内存管理机制
2012-03-20 13:44 943一.简述Flex内存释放优 ... -
Flex 内存处理的方法
2012-03-20 11:25 8831.当任何对象unload后,fl ... -
Flex3 Profile的使用
2012-03-13 15:38 959flex的profile就是一个性能监测器,也是adobe向传 ... -
FLEX内存释放优化原则
2012-03-13 15:36 840FLEX内存释放优化原则: 1. 被删除对象在外部的所有引 ... -
flashplayer的缓存目录
2012-03-13 15:34 3067flashplayer的缓存目录是: XP系统下是C:/Do ... -
swf 更新后,客户端不需要清空缓存即可查看最新版本
2012-03-13 14:20 2416我们在用Flex开发应用的时候,每次修改了swf,上传到服务器 ... -
用RSL来为你的flex程序减肥
2012-03-13 14:19 1178用RSL来为你的flex程序减肥 问题:一个只有几个控件的 ... -
Flex控制session方法
2011-12-07 08:52 1084采用filter 监控 MessageBrokerServle ...
相关推荐
在Flex4中,自定义组件的开发变得尤为重要,因为它允许开发者创建高度定制化的UI组件,以满足特定的应用需求。 #### 二、Spark组件架构剖析 Flex4采用了全新的Spark组件架构,与之前的Flex3(Halo组件架构)相比有...
Flex中的高级自定义组件开发是构建复杂用户界面的关键技术,它允许开发者超越基本组件的限制,以满足特定的业务需求和视觉设计。在创建高级组件时,了解并掌握一些核心方法的重写至关重要,这些方法涉及到组件的生命...
标题中的“flex自定义组件介绍”指的是在Adobe Flex框架中创建和使用自定义组件的过程。Flex是一个基于ActionScript和MXML的开源框架,用于构建富互联网应用程序(RIA)。自定义组件允许开发者根据特定需求扩展Flex...
在标题“各种Flex自定义组件”中,我们可以推断这是一个包含多种定制Flex组件的资源集合。这些组件可能包括时间选择器、数据网格(datagrid)、树形视图(tree)和下拉组合框(combox)。每个组件都有其特定的用途和...
在Flex4中,自定义组件皮肤是提升应用视觉效果和用户体验的重要手段。下面将详细介绍如何在Flex4中自定义组件皮肤。 1. **组件皮肤的基本概念** - 组件皮肤是Flex中改变组件外观的一种方式,通过定义不同的皮肤,...
本文主要探讨如何在Flex中自定义组件,特别是针对一个搜索栏的实现。在提供的压缩包中,我们有`searchField.fla`、`searchField.swf`以及`documentClasses`这三个文件,它们分别代表了不同阶段的开发过程。 1. **...
Flex自定义组件是Adobe Flex框架中的一个重要特性,它允许开发者创建具有特定功能和外观的UI元素,以满足项目中独特的用户界面需求。Flex是一个开源的、基于MXML和ActionScript的开发框架,主要用于构建富互联网应用...
在Flex中,自定义组件是开发者根据项目需求创建的特殊UI元素,可以扩展和定制标准的MX或Spark组件。本示例着重于一个名为“ImageViewer”的自定义组件,这通常是一个用于展示图像并可能包含缩放、平移等交互功能的...
Flex3自定义组件类似于Fieldset
4. 示例学习:在"flex自定义组件事件DEMO"中,你可以看到如何在自定义组件中创建并派发自定义事件,以及如何在其他地方监听和响应这些事件。通过分析代码,可以了解事件生命周期、事件冒泡和捕获的概念,以及如何在...
在Flex4中,自定义组件皮肤是提升应用界面美观度和用户体验的重要手段。Flex4引入了全新的皮肤架构,使得开发者可以更加灵活地控制组件的外观和交互效果。本篇文章将围绕Flex4自定义组件皮肤进行深入讲解,并结合...
在Flex中,分页组件通常是自定义组件,因为Flex的标准库并未提供内置的分页解决方案。开发者通常需要根据实际需求来设计和实现这样的组件。以下是对Flex分页组件的详细解释: 1. **分页机制**:分页的核心是将大...
### 一、Flex自定义组件 #### 1. 创建自定义组件的原因 在Flex应用中,有时标准组件库提供的组件无法满足特定的设计或功能需求。此时,开发者需要创建自定义组件来扩展Flex的功能,以实现个性化设计或定制化行为。...
在Flex应用中,事件处理是核心功能之一,它使得组件之间能够有效地通信。自定义事件是Flex开发中的一个重要概念,允许开发者扩展内置事件系统,以满足特定项目的需要。下面将详细介绍Flex4自定义事件的用法,以及...
因为工作原因和个人兴趣原因,刚接触flex,遇到不少问题,这次花了一个早上的时间专门研究了一下组件件的拖拽,呵呵,还是很有成就感的。
下面将详细解释Flex自定义组件、事件处理以及它们在实际应用中的作用。 一、Flex自定义组件 Flex自定义组件是指开发者根据项目需求,通过继承已有的Flex基类(如UIComponent或Canvas),并添加特定功能和样式来创建...
在Flex中,我们可以通过继承UIComponent或者Canvas等基础组件来创建自定义组件。在组件中,我们可以设计对话框的布局、样式和功能。 2. **设计界面**:对话框通常包含标题、内容区域和按钮。在Flex中,我们可以使用...
7. **使用组件**:最后,可以在MXML文件中像使用其他Flex组件一样使用自定义组件。 在实际开发中,我们还可能遇到一些高级话题,如组件的皮肤ning(Skinning)、状态管理(States)以及组件的性能优化。组件皮肤...
在Flex中,自定义组件是通过继承已有的UIComponent或Flex提供的其他基类,然后添加所需的功能和视觉元素来实现的。对于DownloadProgressBar,我们可能需要继承 mx.controls.ProgressBar 类,它是Flex提供的一种用于...
本案例中提到的"flex图片放大镜组件"就是这样一个自定义组件,它专为图片展示站点设计,提供了一个便捷的方式来实现图片的放大效果,从而提升用户体验。 首先,我们来理解一下“flex”这个词。在前端布局中,...