`
jinxinhero
  • 浏览: 27214 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

创建标准的flex库项目

阅读更多


创建标准的flex库项目

所谓”标准“是指

  • 使用命名空间方式来引入组件标签。
  • 引入命名空间时,前缀有默认值,如在flex3中组件的前缀基本为mx。

达到的效果


 

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
				layout="absolute"
				minWidth="955"
				minHeight="600"
				xmlns:jx="http://jx.founder.com/2010/flex">
	<mx:Script>
		<![CDATA[
			import jx.components.MyCheckBox;

			private function init():void {
				var c:MyCheckBox;
			}
		]]>
	</mx:Script>
	<jx:MyButton/>
</mx:Application>
 

 

MyButton是我自定义的一个组件。当我以mxml标签方式使用该组件时,flashBuilder会自动帮我引入命名空间并给出前缀(xmlns:jx="http://jx.founder.com/2010/flex")。

第一步,创建库项目

没什么好说的。

第二步,创建一个名为MyButton的自定义组件,代码如下:

 

package jx.components {
	import mx.controls.Button;

	[IconFile("MyButton.png")]
	public class MyButton extends Button {
		public function MyButton() {
			super();
			this.label = "测试";
		}
	}
}
 

 

第三步,src目录下创建一个xml,取名为jx-manifest.xml。

 

 

 

<?xml version="1.0" encoding="UTF-8"?>
<componentPackage>
	<component id="MyButton" class="jx.components.MyButton"/>
</componentPackage>

 

 

 

这是一个清单文件。它的作用像一个对照表,它把组件名和它实际的类全名对应起来。

这里的id属性指定是的就是组件名。组件名可以与类名完全没有关系,比如你可以把MyButton换成TestBtn。TestBtn相当于给jx.components.MyButton起了个别名,以后在程序中就可以使用TestBtn来引用该类了。

 

第四步,创建xml,名为design.xml,放在src目录下。该文件内容如下:

<?xml version="1.0" encoding="utf8"?>
<design version="2">
   <namespaces>
     <namespace prefix="jx" uri="http://jx.founder.com/2010/flex"/>
   </namespaces>

   <categories>
       <category id="myControls" label="我的组件" defaultExpand="true"/>
   </categories>
    
   <components>

		<component id="jx.components.MyButton"
				   name="jx.components.MyButton" 
				   namespace="jx" 
				   category="myControls">
		</component>
   </components>
</design>
 

design.xml是一个设计辅助文件。flashbuilder通过它实现,为标签指定默认前缀,为组件分类等功能。

<category id="myControls" label="我的组件" defaultExpand="true"/>这句,定义设计视图组件面板文件夹分类,label指定在组件面板里的文件夹显示名称,如下图所示:

 


 

在库项目属性面板里找到资源选项卡,把刚才的两个xml文件勾选上。



 

最终的文件结构如下图:




 


第五步 配置项目属性

指定命名空间Namespace URI

指定清单文件Manifest file

如图



 

至此,标准库项目创建完成。


<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
				layout="absolute"
				minWidth="955"
				minHeight="600"
				xmlns:jx="http://jx.founder.com/2010/flex">
	<mx:Script>
		<![CDATA[
			import jx.components.MyCheckBox;

			private function init():void {
				var c:MyCheckBox;
			}
		]]>
	</mx:Script>
	<jx:MyButton/>
</mx:Application>

 

 

 

 

特别注意:

一、在实践中发现一个缺点:通过上述方式创建库项目后,在使用时,那些通过清单文件定义的组件可以在编写mxml正确提示(如:MyButton),但MyCheckBox由于没有在清单文件中描述,在写mxml标签时就不会自动提示了。但代码方式是可以引用到的。因此,应该将可以用标签方式定义的组件都配置在清单文件中。

二、两个xml配置文件,如果能使用ant自动生成,效果可以会更好。限于能力,就不实现了。

源码:mylib.zip

 

RIAMeeting-苏州FLEX(34558988)  matt 给予了很大的帮助,在此表示感谢 。

  • 大小: 70.6 KB
  • 大小: 13.5 KB
  • 大小: 93.8 KB
  • 大小: 17.2 KB
分享到:
评论
5 楼 zwnJava 2011-06-17  
写了一遍,还真不错呵呵
4 楼 yanql 2011-06-15  
写得挺详细的,受教了
3 楼 632408004 2011-06-10  
上次没研究完,可以接着你的继续搞下去了。
2 楼 zwnJava 2011-06-10  
顶!
flex3 中有span 吗?
1 楼 critor 2011-06-10  
写的不错啊,楼主很用心,加油!

相关推荐

    编写标准的flex库项目

    总之,创建标准的Flex库项目涉及到项目结构设计、源代码编写、库的发布与引用等多个方面。通过良好的代码组织和规范的开发流程,我们可以创建出高质量、可扩展的Flex库,提升开发效率并降低维护成本。

    一个FLEX的小项目

    `flex_libs`可能是一个包含Flex库的文件夹,比如SWC库文件,这些库文件提供了Flex框架、组件和其他功能,供开发者在项目中引用。 `.settings`目录通常包含项目级别的Eclipse首选项,这些设置可能与特定的构建配置、...

    很好的flex项目源码

    Flex项目源码是一种基于Adobe Flex框架的开发资源,它包含了创建富互联网应用程序(RIA)所需的所有组件和配置文件。这个压缩包提供了学习和研究Flex编程的宝贵材料,适合初学者和有经验的开发者来深入理解Flex的...

    ArcGIS Flex API和SuperMap Flex API实现的军标箭头库

    本项目聚焦于使用Flex API,一种基于Adobe Flex的开发框架,来实现军标箭头库的构建。这涉及到Web GIS应用的开发,以及如何将军事符号标准(例如北约军标)与地图服务相结合。 首先,ArcGIS Flex API是由Esri公司...

    读取shp的flex 库

    "lib"文件夹则可能包含库的二进制文件,即SWC(Shockwave Flash Component)文件,它是Flex库的编译形式,可以直接导入到Flex项目中使用。 总的来说,使用Flex库读取SHP文件并在Google Maps API for Flash上展示,...

    Flex开源项目1个[flex部分]

    Flex 2.0还提供了更丰富的组件库,包括图表、表格和导航控件,使得开发者能够创建具有复杂用户界面的RIA。 ### J2EE集成 在本项目中,Flex与J2EE结合,利用J2EE的强大后端服务处理数据和业务逻辑。Flex作为前端...

    activiti+flex项目搭建

    4. **集成Activiti**:将Activiti库添加到你的项目依赖中。如果你使用的是Maven,可以在pom.xml文件中添加对应的依赖项。同时,你需要配置Activiti的上下文,使其能够在你的Spring应用中启动和运行。 5. **设计和...

    自己写的分页 flex datagrid 及一些其他东西 flexbuilder 项目源文件

    6. **.actionScriptProperties**:这是Flex Builder项目的ActionScript编译器设置文件,包含了关于编译选项、库路径等信息。 7. **.flexProperties**:这个文件存储了项目的特定属性,比如项目类型、默认皮肤、运行...

    flex 播放器 源码 项目

    在这个项目中,我们可以深入理解Flex如何用于创建自定义的媒体播放解决方案。 在Flex播放器的源码中,你可能会看到以下关键知识点: 1. **Flex SDK**:Flex SDK是开发Flex应用程序的基础,包括ActionScript编译器...

    flex组件的所有源文件

    Flex组件是一种广泛应用于Web开发中的布局工具,尤其在创建响应式设计时,它能帮助...通过研究这些源代码,开发者可以深入了解Flex布局的工作原理,并将其应用到实际项目中,创建出响应迅速、布局灵活的用户界面。

    flex 学习资料汇总

    - **使用Flex Builder创建项目**:Flex Builder是一个基于Eclipse的集成开发环境(IDE),提供了创建、调试和部署Flex应用程序的功能。要使用Flex Builder创建新的Flex项目,可以通过“Create New Project”向导来进行...

    Flex实现的xmpp消息发送接收

    在提供的`src`目录中,可能会包含以下内容:Flex项目的源代码文件(如ActionScript类、MXML界面文件)、资源配置文件、XIFF库的相关类文件,以及可能的项目配置文件。通过分析这些源代码,可以深入理解Flex如何与...

    flex做的电子书

    在这个"flex做的电子书"项目中,我们可以看到Flex技术在创建数字出版物上的应用。 标题中的“flex做的电子书”意味着这可能是一个使用Flex技术开发的交互式电子阅读体验。电子书作为一种多媒体、互动性的阅读方式,...

    Spring整合flex-Spring BlazeDS Integration-带项目demo

    - 添加BlazeDS库到项目类路径。 - 配置Spring上下文以使用BlazeDS。 - 创建Flex客户端并定义服务代理。 - 在服务器端创建和配置服务bean。 通过这个项目demo,开发者可以深入理解Spring与Flex的集成过程,学习...

    Flex4 一学就会 (Hello Flex4)

    Spark组件库包括了丰富的UI元素,如按钮、列表、面板等,它们在设计上更注重可定制性和可访问性,使得开发者可以创建出符合现代网页设计标准的应用。 在Flex4中,ActionScript 3.0是主要的编程语言,它拥有面向对象...

    flex留言板java+flex+lcds项目源码

    - Flex SDK:Flex应用程序的基础,提供了ActionScript编译器和运行时库,用于创建富客户端应用。 - MXML:Flex的主要标记语言,用于描述用户界面布局和组件。 - ActionScript:与MXML配合使用的面向对象编程语言...

    Python库 | flex_version-1.0.1.tar.gz

    `flex_version`库应运而生,它支持PEP 440(Python Enhanced Proposals 440,关于版本编号的规范)标准,允许开发者以更简洁的方式处理复杂的版本比较问题。例如,它可以轻松判断一个版本是否大于、小于或等于另一个...

    FLEX与ECLIPSE的DEMO

    3. **项目结构**:认识Flex项目的标准文件结构,包括src目录、lib目录、flex-config.xml等。 4. **组件使用**:通过DEMO中的例子,学习如何使用Flex组件库中的不同控件创建用户界面。 5. **数据绑定**:理解Flex中的...

    flexlib---2.5---flex3.rar_flex_flexlib

    2. **自定义组件**:除了增强的Flex组件,Flexlib还提供了一些独特的自定义组件,比如高级图表、日历控件、树形视图等,这些组件在标准Flex库中可能并未包含。 3. **数据绑定和状态管理**:Flexlib可能包含了更高效...

    Flex 果冻特效Demo

    Flex是一种基于ActionScript和Flash Player的开源框架,...通过分析和学习这些代码,我们可以深入理解如何在Flex项目中创建类似的动态效果,提升用户体验。同时,这也为我们提供了实践Flex动画编程和组件设计的机会。

Global site tag (gtag.js) - Google Analytics