- 浏览: 785899 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (360)
- Java (101)
- JPA/Hibernate (10)
- Spring (14)
- Flex/BlazeDS (37)
- Database (30)
- Lucene/Solr/Nutch (0)
- Maven/Ant (25)
- CXF/WebService (3)
- RPC/RMI/SOAP/WSDL (1)
- REST (6)
- TDD/BDD/JUnit (1)
- Servlet/JSP (2)
- AI/MachineLearning (3)
- Resource (1)
- 字符编码 (2)
- OOA/OOPS/UML (5)
- DesignPattern (8)
- 算法与数据结构 (11)
- Web&App Server (13)
- 并发&异步&无阻塞 (7)
- Entertainment (4)
- JavaScript/ExtJS (45)
- CodeStyle&Quality (1)
- svn/git/perforce (8)
- JSON (2)
- JavaScriptTesting (4)
- Others (6)
- RegularExpression (2)
- Linux/Windows (12)
- Protocal (2)
- Celebrities (1)
- Interview (1)
- 计算机语言 (1)
- English (2)
- Eclipse (5)
- TimeZone/时区 (1)
- Finance (1)
- 信息安全 (1)
- JMS/MQ (2)
- XSD/XML/DTD (3)
- Android (4)
- 投资 (3)
- Distribution (3)
- Excel (1)
最新评论
-
qdujunjie:
如果把m换成具体的数字,比如4或者5,会让读者更明白
m阶B树中“阶”的含义 -
java-admin:
不错,加油,多写点文章
关于Extjs的mixins和plugin -
xiehuaidong880827:
你好,我用sencha cmd打包完本地工程后,把app.js ...
ExtJS使用Sencha Cmd合并javascript文件为一个文件 -
KIWIFLY:
lwpan 写道inverse = "true&qu ...
Hibernate中什么时候使用inverse=true -
luedipiaofeng:
good
消除IE stop running this script弹出框
Flex3里面如果要自定义组件,一般首先继承一个flex3中的已有组件,然后覆盖createChildren方法,并在里面实例化你自己的东西。但是Flex4中的spark组件就有些不同了,因为spark组件把逻辑和皮肤分别放在不同的类里面,如Panel,你会发现有一个PanelSkin与之对应。
那么在Flex4中如何自定义自己的组件呢? 按如下步骤:
1)New 一个Mx Skin类并继承你需要的类,比如我的为MyPanelSkin继承自PanelSkin,Flash builder里面提供了new Mx Skin的选项,完成本步骤后,你会发行MyPanelSkin里面已经有PanelSkin里的所有代码了,现在你可以通过可视化或这代码来修改你的皮肤,比如给panel的顶部的右边加上一个最大化按钮,等等,你可以加你所需要的东西
2)在MyPanelSkin里给你的组件添加一个id
比如我将Spark Panel 里原来的titleDisplay改成了如下形式,即添加了自定义的东西
3)new 一个MyPanel继承自Spark Panel,并且在里面添加属性,属性名字与MyPanelSkin的id的值保持一致,这一点非常重要,一定要取一样的名字,
并且要给这些变量加上元数据,[SkinPart (required="false or true")],通过这些变量你就可以访问MyPanelSkin里面的元素了,当然必须完成第4步后,你才能访问。
4)按如下方式覆盖partAdd,在partAdd里面操作你的属性,你可以为这些属性所代表的组件添加事件监听器,或者赋初始值。
那么在Flex4中如何自定义自己的组件呢? 按如下步骤:
1)New 一个Mx Skin类并继承你需要的类,比如我的为MyPanelSkin继承自PanelSkin,Flash builder里面提供了new Mx Skin的选项,完成本步骤后,你会发行MyPanelSkin里面已经有PanelSkin里的所有代码了,现在你可以通过可视化或这代码来修改你的皮肤,比如给panel的顶部的右边加上一个最大化按钮,等等,你可以加你所需要的东西
2)在MyPanelSkin里给你的组件添加一个id
比如我将Spark Panel 里原来的titleDisplay改成了如下形式,即添加了自定义的东西
<!-- layer 3: text --> <!--- @copy spark.components.Panel#titleDisplay --> <s:VGroup height="100%" width="100%"> <s:HGroup width="100%" horizontalAlign="center"> <s:Label id="titleDisplay" maxDisplayedLines="1" fontSize="18" fontFamily="宋体" left="9" right="3" top="1" bottom="0" minHeight="30" verticalAlign="middle" textAlign="start" fontWeight="bold"> </s:Label> </s:HGroup> <s:Spacer height="5"/> <s:HGroup width="100%" verticalAlign="middle"> <mx:LinkButton id="btnPreviousDay" label="前一天" fontFamily="宋体"/> <s:HGroup width="100%" horizontalAlign="center"> <s:ComboBox id="comboBoxMonth" width="60"/> <s:VGroup paddingTop="3"> <mx:Label text="月" fontFamily="宋体"/> </s:VGroup> <s:ComboBox id="comboBoxDay" width="60"/> <s:VGroup paddingTop="3"> <mx:Label text="日" fontFamily="宋体"/> </s:VGroup> <s:Spacer width="3"/> <s:Button id="searchBtn" label="查看" fontFamily="宋体"/> <s:Button id="backBtn" label="返回" fontFamily="宋体"/> </s:HGroup> <mx:LinkButton id="btnNextDay" label="后一天" fontFamily="宋体"/> </s:HGroup> <s:Spacer height="2"/> </s:VGroup>
3)new 一个MyPanel继承自Spark Panel,并且在里面添加属性,属性名字与MyPanelSkin的id的值保持一致,这一点非常重要,一定要取一样的名字,
并且要给这些变量加上元数据,[SkinPart (required="false or true")],通过这些变量你就可以访问MyPanelSkin里面的元素了,当然必须完成第4步后,你才能访问。
4)按如下方式覆盖partAdd,在partAdd里面操作你的属性,你可以为这些属性所代表的组件添加事件监听器,或者赋初始值。
package view.component { import mx.collections.ArrayCollection; import spark.components.ComboBox; import spark.components.Panel; public class MyPanel extends Panel { public function MyPanel() { super(); } [SkinPart (required="false")] public var comboBoxMonth:ComboBox [SkinPart (required="false")] public var comboBoxDay:ComboBox override protected function partAdded(partName:String, instance:Object):void { super.partAdded(partName, instance); var monthProvider:ArrayCollection=new ArrayCollection(); var dayProvider:ArrayCollection=new ArrayCollection(); for(var i:int=1;i<=12;i++){ monthProvider.addItem(i); } for(var j:int=1;j<=31;j++){ dayProvider.addItem(j); } if (instance == comboBoxMonth) { comboBoxMonth.dataProvider=monthProvider; }else if(instance==comboBoxDay){ comboBoxDay.dataProvider=dayProvider; } } } }
发表评论
-
Panel高度为0但里面的组件依旧显示
2013-04-24 14:34 1084解决办法: 把Panel中的内容组件用<s:Scroll ... -
约束布局constraint layout
2013-03-01 14:02 1792约束布局constraint layout要点: 1)只有支持 ... -
根据屏幕分辨率动态调整组件大小
2013-02-22 17:34 1518将代码写在组件的preInitialize事件监听器里面 简化 ... -
设置Flex组件的尺寸大小
2013-02-21 16:17 1533深红色部分标明了需注意的地方 另外要注意组件和容器的生命周 ... -
Flex minWidth minHeight
2013-02-04 16:17 1519minWidth 这个值并不是给组件自己用的,而是给组件的父容 ... -
ActionScript遍历绑定(BindProperty,BindSetter,ChangeWatcher)
2013-02-01 10:11 2446注意: 为防止内存益处,记得调用watcherInstance ... -
Flex程序适应不同屏幕尺寸和分辨率(滚动条)
2013-01-31 15:02 9765FlashBuilder编译后自动生成的xx.html里面定义 ... -
FlexContext, FlexClient,FlexSession
2013-01-15 15:05 2372使用了BlazeDS后,可以从FlexContext中获取一系 ... -
防止RemoteObject批处理AMF消息
2013-01-14 17:01 1256问题描述: 如果你在短时内调用同一个java对象上的两个方法, ... -
自动检测http和https的RemoteObject
2013-01-13 10:30 1735package { import util.Bro ... -
flex浏览器相关辅组类
2012-12-06 13:39 1251package util { import flash. ... -
Flex可变参数带来的问题
2012-12-06 13:34 1490当你在flex的方法中用了可变参数后,你会发现这些参数传到ja ... -
flex如何通过类名称实例化对象
2012-11-30 13:52 2731Getting the class from an objec ... -
flexlib的treeGrid用法
2012-11-30 13:46 1269为了使用treeGrid,通常你需要定义自己的DataDesc ... -
自定义flex tree的DataDescriptor
2012-11-30 13:42 1407public class EnvironmentDataDes ... -
关于Boolean类型在flex与java中间传递的问题
2012-11-30 13:38 1253/** *为简化,只列举两个字段 */ publi ... -
给Flex的Tree赋值方式(XML和ArrayCollection)
2012-11-30 09:33 40221)方式一,mxml内嵌xml数据赋值方式,Embedded ... -
Custom Alert
2012-11-26 19:21 0<?xml version="1.0&qu ... -
Flex服务端分页
2012-11-14 17:00 1051Structure: model event ... -
Flex可携带数据的Aler组件(DataCarriableAlert)
2012-11-14 16:52 1314package component.alert { ...
相关推荐
Flex4开发的自定义输入框皮肤组件,代图标,圆角,主要测试Flex4 spark主题下如何自定义组件皮肤。
Spark组件架构剖析 理解Flex4组件生命周期 Demo Q & A
在各个组件的README.md文件中可以找到类似的说明。 对于程序员和贡献者,请从下面的“ 部分开始; 这将引导您完成基本基础结构的示例,包括创建新的仪表板页面所需的一切。 项目中的其他一些README.md子都有自己的...
然后,您可以根据需要替换wordcount示例,并自定义项目所需的Spark组件。 为了鼓励良好的软件开发实践,首先要从一个代码覆盖率为100%的项目开始(例如,一个测试:p),尽管预期此项目会减少,但我们希望您使用...
在容器集群中,Spark作业和Flink作业相关组件都运行在容器中,通过下载DLI提供的自定义镜像,可以改变Spark作业和Flink作业的容器运行环境。例如,
自定义构建选项,用于获取您自己需要的框架的最少必需部分。 对所有框架的高级编译支持。 创建将在开发和生产中使用的框架的两个版本。 允许在不使用Closure库和Closure工具的情况下使用生产版本,这是该项目的最终...
该组件背后的思想是基于经典auth.log和access.log的内容来模拟两个日志信息源。 通过指定要经历的迭代次数以及每次迭代的成功和失败日志条目数来配置生成器。 这允许侦听的Spark Streaming开发不同的解决方案,以...
资源包中包含了几个组件的自定义SparkSkin皮肤文件,包括dropDownList和titleWindowskin closeButtonskin共同学习
所属组件 介绍 MapReduce MapReduce 实验 - 计算气温 最大/最小/平均 值 HDFS HDFS Java API 增删查改 HDFS Timer 定时将日志文件备份到 HDFS 中去,copyFromLocalFile MapReduce MapReduce 计算共同好友 MapReduce ...
资源包含文件:设计报告word+项目源码 ...RF采用SparkSQL的原始数据,采用Spark ML组件,配合airflow+spark submit定时任务部署。 详细介绍参考:https://blog.csdn.net/sheziqiong/article/details/125661924
非常重要,允许开发人员在表达式中定义和利用自定义操作。 让我们看一个例子。 想象一下,您有一个包含产品包装照片的产品目录。 您可能希望注册一个用户定义的函数extract_text ,该函数调用 OCR 算法并返回图像中...
适用于Ember应用程序的雄心勃勃的UI组件 ...Ember Sparks随附了一些方便的预装组件,例如{{input-spark}}和{{toggle-spark}} 。 您只需将它们放入模板即可使用它们: {{ input-spark placeholder = " you
Ambari下Hive3.0升级到Hive4.0,验证自测;
新版本Deepin/UOS发布后,可以在应用商店安装部分官方已适配的安卓应用,对爱好者来说,不能自己安装APK软件包始终差点意思,本程序可以为Deepin/UOS上的Uengine安卓运行环境安装/卸载/打包自定义APK软件包,并能...
代码测试前请确保各个组件均已安装 1、环境准备 1、准备json文件: {name: zhangsan,age: 17} {name: lisi,age: 18} {name: wangwu,age: 20} 2、使用IDEA软件,创建maven工程 3、添加pom依赖 2、maven工程pom依赖 ...
允许开发人员定义和利用表达式中的自定义操作。 例如,假设您有一个包含产品包装照片的产品目录。 您可能希望注册一个用户定义的函数extract_text ,该函数调用 OCR 算法并返回图像中的文本,以便您可以从照片中获取...
三:sparkSQL组件之解析 17 3.1:LogicalPlan 18 3.2:SqlParser 20 3.1.1:解析过程 20 3.1.2:SqlParser 22 3.1.3:SqlLexical 25 3.1.4:query 26 3.3:Analyzer 26 3.4:Optimizer 28 3.5:SpankPlan 30 四:...
7、集成Spark即时通讯工具,实现类似企业QQ的即时消息、文件发送与共享、消息广播等。 8、集成外部邮件管理组件,提供 web方式的远程邮件服务。 9、集成手机短信组件,重要信息可直接发送到员工手机,支持...
此README文件描述了“ Yelper”的几个主要组件,Yelper是主要使用Python使用Spark框架构建的业务推荐系统。 以下是“ Yelper”的一些功能: 按城市划分原始业务数据,可以进行微调和自定义推荐 使用Spark MLlib的...