自定义组件--创建mxml组件

创建简单的mxml组件

Example

components/CountryComboBox.mxml

<?xml version="1.0" encoding="utf-8"?>
<mx:ComboBox xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:dataProvider>
<mx:String>United States</mx:String>
<mx:String>United Kingdom</mx:String>
<!-- Add all other countries. -->
</mx:dataProvider>
</mx:ComboBox>

Main application MXML file

<?xml version="1.0" encoding="utf-8"?>
<mx:Application
xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:custom="components.*"
width="220" height="115"
>
<custom:CountryComboBox/>
</mx:Application>
 
自定义组件的属性和方法

Example

components/CountryComboBox.mxml
<?xml version="1.0" encoding="utf-8"?>
<mx:ComboBox xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:dataProvider>
<mx:String>United States</mx:String>
<mx:String>United Kingdom</mx:String>
<!-- Add all other countries... -->
</mx:dataProvider>
</mx:ComboBox>
Main application MXML file
<?xml version="1.0" encoding="utf-8"?>
<mx:Application
xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:custom="components.*"
width="270" height="170"
>
<mx:Script>
<![CDATA[
import flash.events.Event;
private function handleCloseEvent(eventObj:Event):void
{
status.text = "You selected: \r" + countries.selectedItem as String;
}
]]>
</mx:Script>
<mx:Panel
title="Custom component inheritance"
paddingTop="10" paddingBottom="10" paddingLeft="10" paddingRight="10"
>
<custom:CountryComboBox
id="countries" rowCount="5"
close="handleCloseEvent(event);"
/>
<mx:Text id="status" text="Please select a country from the list." width="136"/>
</mx:Panel>
</mx:Application>
创建复合型mxml组件

Example

components/AddressForm.mxml

<?xml version="1.0" encoding="utf-8"?>
<mx:Form
xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:custom="components.*"
>
<mx:FormItem label="Name">
<mx:TextInput/>
</mx:FormItem>
<mx:FormItem label="Street">
<mx:TextInput/>
</mx:FormItem>
<mx:FormItem label="City">
<mx:TextInput/>
</mx:FormItem>
<mx:FormItem label="State/County">
<mx:TextInput/>
</mx:FormItem>
<mx:FormItem label="Country">
<custom:CountryComboBox/>
</mx:FormItem>
</mx:Form>

components/CountryComboBox.mxml

<?xml version="1.0" encoding="utf-8"?>
<mx:ComboBox xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:dataProvider>
<mx:String>United States</mx:String>
<mx:String>United Kingdom</mx:String>
<!-- Add all other countries... -->
</mx:dataProvider>
</mx:ComboBox>

Main application MXML file

<?xml version="1.0" encoding="utf-8"?>
<mx:Application
xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:custom="components.*"
viewSourceURL="src/MxmlComponentComposite/index.html"
width="400" height="290"
>
<mx:Panel
title="Composite component"
paddingTop="10" paddingBottom="10" paddingLeft="10" paddingRight="10"
>
<custom:AddressForm />
</mx:Panel>
</mx:Application>
创建重用mxml组件

Example

components/CountryComboBox.mxml

<?xml version="1.0" encoding="utf-8"?>
<mx:ComboBox xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
<![CDATA[
private var countryArrayShort:Array = ["US", "UK"];
private var countryArrayLong:Array = ["United States", "United Kingdom"];
// Determines display state. The inspectable metadata tag
            // is used by Flex Builder 2
            [Inspectable(defaultValue=true)]
private var _useShortNames:Boolean = true;
// Implicit setter
            public function set useShortNames (state:Boolean):void
{
// Call method to set the dataProvider based on the name length.
                _useShortNames = state;
if (state)
{
this.dataProvider = countryArrayShort;
}
else
{
this.dataProvider = countryArrayLong;
}
// Dispatch an event when the value changes
                // (used in data binding.)
                dispatchEvent(new Event("changeUseShortNames"));
}
// Allow other components to bind to this property
            [(event="changeUseShortNames")]
public function get useShortNames():Boolean
{
return _useShortNames;
}
]]>
</mx:Script>
</mx:ComboBox>

Main application MXML file

<?xml version="1.0" encoding="utf-8"?>
<mx:Application
xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:custom="components.*"
viewSourceURL="src/MxmlComponentAdvanced/index.html"
width="260" height="200"
>
<mx:Panel
title="Advanced custom components"
paddingTop="10" paddingBottom="10" paddingLeft="10" paddingRight="10"
>
<!-- Set a custom property on a custom component -->
<custom:CountryComboBox
id="countries"
useShortNames="false"
/>
<!--
Use data binding to display the latest state
of the property.
-->
<mx:Label text="useShortNames = {countries.useShortNames}"/>
<mx:ControlBar horizontalAlign="right">
<mx:Button
label="Toggle Display"
click="countries.useShortNames = !countries.useShortNames;"
/>
</mx:ControlBar>
</mx:Panel>
</mx:Application>
 

转载于:https://www.cnblogs.com/yzxchoice/archive/2007/01/18/623959.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/476801.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

19位算法工程师总结:机器学习项目成功落地的三条秘诀

文 | 天于刀刀又是一年金九银十&#xff0c;前几天小编刀刀在一次电话面试过程中被HR 的一个问题问得差点闪了腰。当时情况是这样的&#xff0c;在流利地介绍完之前的几个项目后&#xff0c;招聘小姐姐打断了我后续的&#xff08;忽悠&#xff09;节奏&#xff0c;郑重其事地反…

nodejs 获取cpu核心数量_用 NodeJS 充分利用多核 CPU 的资源[每日前端夜话0xCB]

每日前端夜话0xCA每日前端夜话&#xff0c;陪你聊前端。每天晚上18:00准时推送。正文共&#xff1a;1558 字预计阅读时间&#xff1a;7 分钟作者&#xff1a;Nick Major翻译&#xff1a;疯狂的技术宅来源&#xff1a;coderrocketfuel介绍单个 Node.js 程序的实例仅在一个线程上…

程序员面试金典 - 面试题 16.20. T9键盘(数组)

1. 题目 在老式手机上&#xff0c;用户通过数字键盘输入&#xff0c;手机将提供与这些数字相匹配的单词列表。 每个数字映射到0至4个字母。给定一个数字序列&#xff0c;实现一个算法来返回匹配单词的列表。 你会得到一张含有有效单词的列表。映射如下图所示&#xff1a; 示…

胃部不适,原来好辛苦!

这几天胃部都感觉不舒服&#xff0c;那种感觉很难形容&#xff0c;总之就非常辛苦&#xff0c;无胃口&#xff0c;浑身都不舒服&#xff0c;可能是之前几天早餐没吃饱&#xff0c;有几天很晚才入睡空着肚子的缘故吧&#xff0c;原来胃部不适是如此辛苦的&#xff0c;怕怕&#…

重磅!顶级一区期刊官宣:明年起将不再拒稿!

源 | 青塔学术、量子位等颠覆科学出版的“游戏规则”?10月20日&#xff0c;国际著名生物学综合期刊eLife官方宣布了一个重大决定&#xff1a;从2023年1月31日起&#xff0c;所有经过同行评审的文章&#xff0c;eLife都不会作出接受/拒绝的决定&#xff0c;而是直接发布在其网站…

EM(期望极大化)算法及其推广

文章目录1. EM算法2. EM算法收敛3. EM算法应用4. EM算法的推广5. sklearn.mixture.GaussianMixture概率模型有时既有观测变量&#xff08;observable variable&#xff09;&#xff0c;又有隐变量或潜在变量&#xff08;latent variable&#xff09;如果概率模型的变量都是观测…

GridView 中添加删除确认提示框

在GridView中我们可以直接添加一个CommandField删除列来删除某行信息。但为了避免误操作引起的误删除&#xff0c;在删除操作者让操作者再确认下&#xff0c;完后再进行删除。 首先我们给我们的GridView 添加一个模板列&#xff0c;如下&#xff1a; <asp:TemplateField He…

终于有人喊出来:论文一稿多投是作者的合法权利!

文 | 马建平&#xff0c;三峡大学学报编辑源 | 现代出版一稿多投目前已演变为许多作者一种常态化的投稿方式。针对一稿多投现象&#xff0c;舆论似乎是一边倒的反对和谴责之声&#xff0c;认为它浪费了极为稀缺的出版资源&#xff0c;扰乱了报刊社正常的出版秩序&#xff0c;是…

python中pop用法_Python dict pop()用法及代码示例

Python语言为几乎所有容器(无论是列表容器还是集合容器)指定了pop()。这篇特别的文章着重说明Python词典提供的pop()方法。这种方法对于经常处理字典的程序员很有用。 用法&#xff1a;dict.pop(key, def) 参数&#xff1a; key:必须返回并删除其键值对的键。 def:如果指定的键…

桩训日记

2007年2月7日 弄了一天的模拟练习&#xff0c;挺累的&#xff0c;明天估计是练习 起步停车2007年2月8日 上午起步停车&#xff08;年龄挺大的李教练&#xff09;&#xff0c;临近中午开始倒库&#xff08;挺帅的尹教练&#xff09;&#xff0c;下午继续倒库&#xff0c;基本茫然…

LeetCode 912. 排序数组(10种排序)

文章目录1. 题目2. 解题2.1 插入排序2.2 冒泡排序2.3 选择排序2.4 希尔排序2.5 归并排序2.6 快速排序2.7 堆排序2.8 计数排序2.9 桶排序2.10 基数排序3. 复杂度表1. 题目 给你一个整数数组 nums&#xff0c;将该数组升序排列。 示例 1&#xff1a; 输入&#xff1a;nums [5,…

顶会审稿人谈论文中稿“潜规则”

科研论文&#xff0c;不同于毕业论文之处在于——科研论文是根据有价值的生产实践或科研课题写作的&#xff0c;具有原创性和独到性的论文。在学术界&#xff0c;有人写论文是为了升硕士&#xff0c;升博士或者研究生博士顺利毕业。毕竟在学术界论文是工作和科研水平的直观体现…

python asyncio_如何使用Python中的asyncio?

【51CTO.com快译】Python的异步编程功能(简称async)让你可以编写不必等待独立任务完成就可以完成更多工作的程序。Python附带的asyncio库为你提供了使用async处理磁盘或网络I/O、无需其他方面等待的工具。 asyncio提供了两种处理异步操作的API&#xff1a;高级和低级。高级API用…

程序员面试金典 - 面试题 08.05. 递归乘法(位运算)

1. 题目 递归乘法。 写一个递归函数&#xff0c;不使用 * 运算符&#xff0c; 实现两个正整数的相乘。 可以使用加号、减号、位移&#xff0c;但要吝啬一些。 示例1:输入&#xff1a;A 1, B 10输出&#xff1a;10示例2:输入&#xff1a;A 3, B 4输出&#xff1a;12提示: …

最新整理完成

终于把主站做完了&#xff0c;用了一个小型的cms系统&#xff0c;因为买不起asp.net的空间&#xff0c;而且因为买的时候没问清楚&#xff0c;后来才知道限制cpu4%以内&#xff0c;才知道频繁的server unavaliable是多么的痛苦。我现在把修正后的新闻系统重新提供下载&#xff…

PromptCLUE:大规模多任务Prompt预训练中文开源模型

简介PromptCLUE&#xff1a;大规模多任务Prompt预训练中文开源模型。中文上的三大统一&#xff1a;统一模型框架&#xff0c;统一任务形式&#xff0c;统一应用方式。支持几十个不同类型的任务&#xff0c;具有较好的零样本学习能力和少样本学习能力。针对理解类任务&#xff0…

JS基础知识总结

前几天在网上看到的一个总结&#xff0c;觉得挺好的&#xff0c;所以记录了下来&#xff0c;以备查用。1 创建脚本块 1: <script language”JavaScript”>2: JavaScript code goes here3: </script> 2 隐藏脚本代码 1: <script language”JavaScript”>2: &…

程序员面试金典 - 面试题 10.02. 变位词组(哈希map)

1. 题目 编写一种方法&#xff0c;对字符串数组进行排序&#xff0c;将所有变位词组合在一起。 变位词是指字母相同&#xff0c;但排列不同的字符串。 示例: 输入: ["eat", "tea", "tan", "ate", "nat", "bat"]…

python3.7安装wordcloud_Python中的wordcloud库安装问题及解决方法

今天下载wordcloud的时候出现了很多问题&#xff0c;在此总结总结 1.问题一&#xff1a;You are using pip version 19.0.3, however version 20.0.2 is available…问题解决方法&#xff1a; 打开cmd输入如下命令 python -m pip install -U pip 2.问题二&#xff1a;error: Mi…