`
strugglesMen
  • 浏览: 118583 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

元数据标签 事例

阅读更多

Listing 1 A simple use of [Bindable]

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
backgroundColor="#FFFFFF">
<mx:Script>
<![CDATA[
[Bindable]
private var me:String="Rich Tretola";
]]>
</mx:Script>
<mx:Panel title="Simple Binding" width="500" height="90"
paddingTop="10" paddingLeft="10" paddingRight="10" paddingBottom=" 10" layout="horizontal">
<mx:Label text="{me}"/>
</mx:Panel>
</mx:Application>

Listing 2 Using [Bindable] with getters and setters

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
<![CDATA[
private var _phoneNumber:String = �";
// Bind getter function to phoneNumberChanged event
[Bindable(event="phoneNumberChanged")]
public function get phoneNumber():String {
return _phoneNumber;
}
// Setter method.
public function set phoneNumber(value:String):void {
if (value.length<10) {
_phoneNumber = value;
} else {
_phoneNumber = phoneFormatter.format(value);
}
// Create and dispatch event
var eventObj:Event = new Event(損honeNumberChanged");
dispatchEvent(eventObj);
}
]]>
</mx:Script>
<mx:PhoneFormatter id="phoneFormatter"
formatString="(###) ###-####" validPatternChars="#-()
�/>
<mx:Panel title="Bind with Getters and Setters"
width="500" height="90"
paddingTop="10" paddingLeft="10" paddingRight="10" paddingBottom=" 10" layout="horizontal">
<mx:TextInput id="ti1" change="phoneNumber=ti1.text"
maxChars="10" restrict="0-9"/>
<mx:TextInput id="ti2" text="{phoneNumber}"/>
</mx:Panel>
</mx:Application>

Listing 3 Custom Button class named MyButton

package
{
import mx.controls.Button;
[DefaultProperty(搇abel")]
public class MyButton extends Button
{
}
}

Listing 4 Using the MyButton class wih [DefaultProperty]

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:comps="*">
<comps:MyButton>
<mx:String>Test</mx:String>
</comps:MyButton>
</mx:Application>

Listing 5 Custom ButtonLabel class using [Event]

package
{
import mx.controls.Button;
import flash.events.Event;
// Define the custom event
[Event(name="labelChanged", type="flash.events.Event")]
public class ButtonLabel extends Button {
// property to hold label value
private var _myLabel:String;
// public setter method
public function set myLabel(s:String):void {
_myLabel = s;
this.label = s;
// Create and dispatch custom event
var eventObj:Event = new Event(搇abelChanged");
dispatchEvent(eventObj);
}
}
}

Listing 6 Using the ButtonLabel class with the labelChanged [Event]

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:comps="*"
backgroundColor="#FFFFFF">
<mx:Script>
<![CDATA[
import mx.controls.Alert;
import flash.events.Event;
// method to handle custom event
public function labelChanged(eventObj:Event):void {
myTA.text= myTA.text + 揬n"+ eventObj.target.label;
myTA.verticalScrollPosition = myTA.verticalScrollPosition +
20;
}
]]>
</mx:Script>
<mx:Panel title="Event Sample" width="500" height="275"
paddingTop="10" paddingLeft="10" paddingRight="10" paddingBottom=" 10" layout="absolute">
<mx:TextInput id="buttonLabelTI"
change="myButton.myLabel=buttonLabelTI.text" x="10" y="9"/>
<!--Instantiate custom class and define method to handle label-
Changed event-->
<comps:ButtonLabel id="myButton" labelChanged="labelChanged(event)
;"
x="10" y="39"/>
<mx:TextArea id="myTA" width="200" height="200" x="249" y="10"/>
</mx:Panel>
</mx:Application>

Listing 7 Add the Effect metadata tag

...
// Define the custom event
[Event(name="labelChanged", type="flash.events.Event")]
[Effect(name="labelChangedEffect", event="labelChanged")]
public class ButtonLabel extends Button {
...

Listing 8 Add labelChangedEffect to the Component

Instantiation MXML Tag
<comps:ButtonLabel id="myButton" labelChanged="labelChanged(event);"
labelChangedEffect="myEffect" x="10" y="39"/>

Listing 9 Custom component with [Inspectable] defined

<?xml version="1.0" encoding="utf-8"?>
<mx:HBox xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
<![CDATA[
[Inspectable(defaultValue="Visa",
enumeration="Visa,Mastercard,Discover,American Express"
category="Credit Card" type="String")]
public var ccType:String;
]]>
</mx:Script>
</mx:HBox>

Listing 10 Using [NonCommittingChangeEvent]

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
backgroundColor="#FFFFFF">
<mx:Script>
<![CDATA[
import flash.events.Event;
private var eventObj:Event;
[Bindable(event="triggerBinding")]
[NonCommittingChangeEvent(揷hange")]
private var s:String;
private function triggerBinding():void{
eventObj = new Event(搕riggerBinding");
dispatchEvent(eventObj);
}
]]>
</mx:Script>
<mx:Panel title="NonCommittingChangeEvent Sample" width="500"
height="90"
paddingTop="10" paddingLeft="10" paddingRight="10" paddingBottom=" 10" layout="horizontal">
<mx:TextInput id="ti1" change="s=ti1.text" enter="triggerBinding()"
/>
<mx:TextInput id="ti2" text="{s}" />
</mx:Panel>
</mx:Application>

Listing 11 Custom Class CustomCircle using [Style] tags

package
{
import mx.core.UIComponent;
[Style(name="borderColor",type="uint",format="Color",inherit="no")]
[Style(name="fillColor",type="uint",format="Color",inherit="no")]
public class CustomCircle extends UIComponent {
public function CustomCircle(){
super();
}
override protected function updateDisplayList(unscaledWidth:Number,
unscaledHeight:Number):void {
super.updateDisplayList(unscaledWidth, unscaledHeight);
graphics.lineStyle(1, getStyle(揵orderColor"), 1.0);
graphics.beginFill(getStyle(揻illColor"),1.0);
graphics.drawEllipse(0,0,100,100);
}
}
}

Listing 12 Using CustomCircle and assigning custom style properties

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:comps="*"
backgroundColor="#FFFFFF">
<mx:Panel title="Style Sample" width="200" height="200"
paddingTop="10" paddingLeft="10" paddingRight="10" paddingBottom=" 10" layout="horizontal">
<comps:CustomCircle borderColor="#000000" fillColor="#FF0000" />
</mx:Panel>
</mx:Application>
分享到:
评论

相关推荐

    XML 新闻发布事例

    XML是一种元标记语言,它允许用户自定义标签来表示数据的含义,而不是显示方式。这与HTML不同,HTML使用预定义的标签来控制页面的外观。XML文档由元素、属性、实体、注释等组成,具有严格的语法规范,确保了数据的...

    简单的一个html事例

    `&lt;head&gt;`包含了元数据,如页面标题(`&lt;title&gt;`),而`&lt;body&gt;`则包含了用户在浏览器中实际看到的内容。 描述中提到的"配置tomcat可以直接查看那页面",这指的是将HTML文件部署到Tomcat服务器上进行浏览。Tomcat是一...

    DOTNET事例

    【描述】中的"DOTNET核心技术-原理与构架"是一个广泛的主题,涵盖了.NET Framework的基础,如Common Language Runtime (CLR)、Managed Execution Environment、Garbage Collection、类型系统、元数据、以及.NET ...

    RSS工具包_源码_事例

    1. **RSS原理与标准**:了解RSS的XML结构和规范,如RSS 2.0,如何定义频道(channel)、条目(item)等元素,以及如何处理链接、描述、发布日期等元数据。 2. **ASP.NET开发**:学习如何在ASP.NET环境中创建和解析...

    javascript 课程笔记中介,详细,事例指导

    - **`&lt;meta&gt;`**:定义文档的元数据,如字符集、视口等。 - **`&lt;script&gt;`**:用于引入JavaScript文件或内联JavaScript代码。 - **`&lt;style&gt;`**:定义内联CSS样式。 - **`&lt;link&gt;`**:用于引入外部CSS文件。 - **`&lt;body&gt;...

    Query数据库的例子(9KB)...

    3. `Shahida.vbp`:VB项目文件,它定义了工程的组成,包括窗体、模块、类等,是VB项目的元数据。 4. `Shahida.vbw`:VB工作区文件,保存了用户的窗口位置、工程的打开状态等信息,帮助恢复开发环境。 在实际应用中...

    epub.js案例

    1. **内容解析**:epub.js 能够解析 EPUB 文件的结构,包括 OPF(Open Packaging Format)文件,从中获取元数据和内容目录,以及 NCX(Navigation Container eXtension)或 TOC(Table of Contents)文件,用于构建...

    JavaWeb-01(HTML入门)资料

    `&lt;html&gt;`标签是整个文档的根元素,`&lt;head&gt;`包含元数据,如标题、字符集设置等,而`&lt;body&gt;`则包含了网页的可见内容。 在"资料"文件中,可能包括HTML的基本语法、标签使用方法、属性介绍等内容。初学者可以通过阅读...

    hello-world-nodejs:NodeJS Hello World示例

    3. **初始化项目**:在项目根目录下运行`npm init`,这会创建一个`package.json`文件,记录项目的元数据,如项目名、版本等。 4. **编写代码**:在项目根目录下创建一个名为`index.js`的文件,这是你的主入口文件。...

    爱知县江南市 活用空载出租车:合乘出租车-外文-报告资料.pdf

    标签为“数据”,意味着报告中可能包含了数量信息和统计分析,比如合乘出租车的运营数据、成本收益情况、乘客数量、路线情况等。 从提供的部分内容来看,该报告事例详细描述了名为“いこまいCAR”的社区出租车服务...

    机器学习技术在现代农业中的应用.pdf

    决策树是一种常见的归纳学习,能够从一组无规则的事例中推理出决策树的表示形式,常用来构建或设计分类器和预测模型,对未知数据进行分类或预测等。 人工神经网络是一种模仿自然界神经网络的功能和结构,通过调整...

    仓储科长调薪申请范文.docx

    - **事实依据**:用具体的数据和事例来支撑自己的贡献和成就。 - **市场调研**:合理引用行业内外薪酬标准作为参考依据。 - **未来发展**:明确表达个人职业规划和对公司长期贡献的承诺。 综上所述,作为仓储科长在...

Global site tag (gtag.js) - Google Analytics