大家都知道开发Flex的组件的一种方式是让组件类继承于UIComponent,但UIComponent的功能太强,什么功能都加到这个UIComponent上了,让开发者一点选择余地都没有(特别是对于一些互联网应用来说,很多功能不一定用得上),导致整个应用体积较大(体积较大主要是相对于直接使用Flash而言)。虽然我知道Flex适合于企业应用,但用Flash来开发一些与后台服务有交互的互联网应用时总是不大方便。
用一些开源的AS3组件倒可以做到体积小,但却无法在Flex中可视化开发。如果可以按照自己的需要来实现一些可视化的组件,那应该会比较好。
然后研究了UIComponent,UIMovieClip,耗费了N多精力,考验了N次人品,终于有所发现(具体过程不说了,比较痛苦)。原以为只要组件实现了IUIComponent就可以预览了,结果不是,里面碰到很多奇怪的问题。
主要实现思路如下:
1、首先要为开发的组件单独建一个Flex Library Project,否则在Flex Project中无法预览;
2、自定义mx.core.UIComponent或mx.flash.UIMovieClip类,让这两个自定义类实现IDeferredInstantiationUIComponent接口,这样做是为了让生成的swf能够使用在mxml中定义的自定义组件,作为实验我只实现了IDeferredInstantiationUIComponent接口(当然也可以使用官方的UIMovieClip实现,不过这个类没有源码,可以反编译使用了UIMovieClip的swf得到);
3、然后让自定义组件继承于刚才实现的UIComponent或UIMovieClip(如果把这两个类改成其他名字,好像也预览不了,真是让人郁闷,难道FlexBuilder还不是面向接口编程);
实现主要包括以下文件,详情见附件:
mx.flash.UIMovieClip,没有使用官方实现的UIMovieClip,自己实现便于搞懂运行机制
org.eleven97.fcl.core.FlexibleComponent,主要是避免直接使用UIComponent或UIMovieClip
org.eleven97.fcl.controls.Rect:自定义组件Rect
到此一个在FlexBuilder可以显示的Rect已经开发完成。但可惜遇到太多离奇的问题,无法继续深入下去。
比如在FlexibleComponent中如果直接使用了_initialized,Rect就无法显示了;或者有时候覆盖了一些protected方法(不影响显示的方式)也无法显示了。
希望Flexer们能对可视化的Flex组件感兴趣,并且一起来探讨这些问题。
文笔不好,希望大家谅解。
分享到:
相关推荐
6. **Flex组件库**:Flex Builder 3包含大量预定义的UI组件,如按钮、标签、面板等,开发者可以通过拖放方式快速构建界面。此外,还可以自定义组件以满足特定需求。 7. **版本控制集成**:插件支持常见的版本控制...
7. **Data Binding(数据绑定)**:Flex 4的数据绑定机制允许属性之间的自动同步,简化了数据驱动组件的开发。开发者可以通过数据绑定将UI组件与后台数据源关联起来。 8. **Integration with other Adobe ...
"汉化 Flex Builder 3 帮助文档" 一、Flex Builder 3 帮助文档汉化背景 Adobe 官方已经发布了 Flex 3 中文文档帮助,但是没有提供打包下载的选项。幸运的是,有网友自行制作了 CHM 版本的下载,非常方便。下面将...
这包括掌握MXML和ActionScript编程语言,熟悉Flex框架和组件库,以及掌握各种工具和插件的使用,如调试器、性能分析器等。通过参加在线教程、阅读官方文档、参与社区讨论等方式,可以不断提升自己的开发技能,从而在...
1. **FlexBuilder2界面**:了解FlexBuilder2的工作区布局,包括编辑器、项目浏览器、属性检查器、控制台和调试器等组件的位置和功能,有助于提高开发效率。 2. **MXML语言**:MXML是Flex的主要标记语言,用于声明...
标题 "FlexBuilder运行项目报Flex Builder cannot locate the required version of Flash Player" 描述了一个常见的问题,即在使用FlexBuilder开发Flex应用程序时,由于找不到合适的Flash Player版本,导致项目无法...
### Adobe Flex Builder 3.0 官方使用教程知识点概览 #### 一、学习Flex Builder(Chapter 1) 在本章中,我们将介绍如何开始使用Adobe Flex Builder 3.0。这包括软件的基本功能、界面布局以及如何创建第一个Flex...
Flex Builder 3支持多种编程语言,如ActionScript 3.0,并提供了丰富的用户界面组件库,使得开发者能够快速构建出高质量的富互联网应用程序(RIA)。 ### 序列号的作用 在软件行业中,序列号通常用于验证软件的...
这个“Flex中文教程”显然是为了帮助初学者掌握Flex开发技术,通过配合使用FlexBuilder这一强大的集成开发环境(IDE),让学习过程更为便捷高效。 教程中,你可以期待以下几个关键知识点的讲解: 1. **Flex基础**...
FlexBuilder 3是一款由Adobe公司推出的强大的Flex应用开发集成环境,专为构建富互联网应用程序(RIA)而设计。本教程将全面介绍FlexBuilder 3的使用方法和在实际开发中的应用,尤其注重实践操作,帮助开发者掌握其...
在接下来的界面中,你会看到一个包含Flex Builder 3组件的列表。确保所有的复选框都勾选,以便安装完整功能的Flex Builder。然后点击“下一步”。 **步骤5:接受许可协议** 阅读并接受Adobe的许可协议,这是继续...
- 下载并解压`datavisualization_SDK3.zip`文件,将其中的`datavisualization.swc`文件放置于`D:\Program Files\FlexBuilder3\sdks\3.4\frameworks\libs`目录下。 - 同时,将`datavisualization__3.0.9147.swz`与`...
#### 一、FlexBuilder 3简介 FlexBuilder 是一款专为开发基于Adobe Flex框架的应用程序而设计的集成开发环境(IDE)。它提供了强大的编辑器、调试工具以及代码智能等功能,极大地提高了开发者在构建RIA(Rich ...
### Flex Builder Plug-in and Adobe: An In-depth Exploration In the dynamic world of web development, especially in the realms of Flash and Flex, the integration between Eclipse and Flex Builder has ...
Flex Builder是一款专为开发Adobe Flex应用程序而设计的集成开发环境(IDE)。它是基于Eclipse平台构建的,提供了丰富的工具集,支持ActionScript编程、MXML布局以及与Flash Player和Adobe AIR的交互。在Flex开发...
Flex Builder是一款强大的集成开发环境(IDE),专门用于构建基于Adobe Flex技术的富互联网应用程序(RIA)。这个中文教程是为那些想要深入理解并掌握Flex开发工具的用户准备的,旨在帮助他们快速有效地学习Flex编程...
在探讨“Flex Builder3正式版下载+注册码”的主题时,我们不仅触及到软件的获取与激活机制,更深入到了Adobe Flex技术的核心价值及其在软件开发领域的应用。Flex Builder3,作为Adobe公司推出的专为Flex框架设计的...
FlexBuilder3是一款强大的开发工具,主要用于构建富互联网应用程序(Rich Internet Applications,RIAs),它基于Adobe Flex框架,为开发者提供了一种高效、直观的环境来创建动态、交互式的Web应用。在本实例中,...
FlexBuilder 3是一款由Adobe公司推出的集成开发环境(IDE),专为构建富互联网应用程序(RIA)而设计,尤其是基于Adobe Flash Player和Adobe AIR的应用。这个IDE是基于Eclipse平台,提供了一整套工具来帮助开发者...