Flex Quick Starts中文翻译(三)

中文

Adobe Flex应用程序是事件驱动的。当用户与界面组件交互时事件会通知程序员,
当一个组件的外观或者生命周期发生重要改变,比如创建或者销毁一个容器,或改 变一个容器的大小的时候,事件也会通知程序员。

当一个组件的实例分派一个事件时,你为那个事件注册的监听器对象就会被通知。 你可以在 ActionScript 中定义事件监听器(或者叫做事件处理器)来处理事件。你 既可以在 MXML 声明中为一个组件注册事件监听器,也可以在 ActionScript 中实现 相同的功能。

接收事件通知有三种方式:
 在 MXML 中注册一个事件处理器
 在 MXML 中创建一个内联(inline)的事件处理器
 通过 ActionScript 注册一个事件处理器

在 MXML 中注册一个事件处理器
第一个,而且是最广泛地被用来接收事件通知的方法就是在 MXML 中定义一个事件处 理器,当事件发生时就调用它。
在这个例子中,你为一个 Button 控件的 click(点击)事件定义了一个事件处理器。 当用户点击这个 Button 控件时,事件处理器会把 Label 控件的 text 属性设成  "Hello,World!"。

示例

<?xml  version="1.0"  encoding="utf-8"?>
<mx:Application
xmlns:mx="http://www.adobe.com/2006/mxml"
width="300"  height="200"
horizontalAlign="center"  verticalAlign="middle"
viewSourceURL="src/HandlingEventsEventHandler/index.html">
<mx:Script>
<![CDATA[
import  flash.events.MouseEvent;
private  function  clickHandler  (  event:MouseEvent  ):void
{
myLabel.text  =  "Hello,World!";

]]> 
</mx:Script>
<mx:Panel
title="My  Application"  horizontalAlign="center"
paddingTop="10"  paddingBottom="10"  paddingLeft="10"
paddingRight="10"  >
<mx:Label  id="myLabel"  width="180"  fontWeight="bold"
fontSize="24"/> 
<mx:Button  id="myButton"  label="Click  Me!" 
click="clickHandler(event);"  /> 
</mx:Panel>
</mx:Application>

运行结果图示:

译注:由于文档中无法嵌入 SWF 文件,代码运行结果请查看原文中相应的部分。

 在 MXML 中创建一个内联(inline)的事件处理器

 有时响应事件的最简单的方法就是完全在一个组件的 MXML 声明中定义事件处理器。 这就是使用一个内联(inline)的事件处理器。

 在下面的例子中,你设定了<mx:Button>标签的click属性,所以它可以直接设定 Label控件的text属性,而不需要调用一个事件处理器方法。

提示:使用内联事件处理器可能比较快而且代码较少,但是它也可以影响代码的易读性,可维护性和可扩展性。一个好的经验法则就是不要在内联事件处理器中包含 一条语句以上的 ActionScript。如果你必须包含更复杂的逻辑,就把它放到一个 ActionScript helper 方法(即第一种方法)或者一个 ActionScript 事件处理器(即 第三种方法)中。

示例
<?xml  version="1.0"  encoding="utf-8"?>
<mx:Application
xmlns:mx="http://www.adobe.com/2006/mxml"
viewSourceURL="src/HandlingEventsInlineMethod/index.html"
horizontalAlign="center"  verticalAlign="middle"
width="300"  height="200">
<mx:Panel 
title="My  Application"  horizontalAlign="center" 
paddingTop="10"  paddingBottom="10"  paddingLeft="10"
paddingRight="10"> 
<mx:Label  id="myLabel"  width="180"  fontWeight="bold" 
fontSize="24"/> 
<mx:Button  id="myButton"  label="Click  Me!"  click="myLabel.text  =
'Hello,  World!'"  /> 
</mx:Panel>
</mx:Application>
运行结果图示:

通过 ActionScript 注册一个事件监听器
你也可以通过使用 ActionScript 注册一个事件处理器来响应事件。 在这个例子中,使用ActionScript中的addEventHandler()  方法注册了一个事件监
听器。这个addEventHandler()方法被放在了用来处理Application容器的
creationComplete事件的事件处理器中。
提示:程序开始运行的时候,在Application的外观和它的子组件初始化完毕之后, Application的creationComplete事件就会发生。creationComplete事件的处理器提 供了一个很方便的地方来放置注册事件监听器的ActionScript代码。

示例
<?xml  version="1.0"  encoding="utf-8"?>
<mx:Application
xmlns:mx="http://www.adobe.com/2006/mxml"
viewSourceURL="src/HandlingEventsActionScript/index.html"
horizontalAlign="center"  verticalAlign="middle"
width="300"  height="200"
creationComplete="creationCompleteHandler(event);">
<mx:Script> 
<![CDATA[ 
import  flash.events.MouseEvent;
import  mx.events.FlexEvent; 
private  function
creationCompleteHandler(event:FlexEvent):void
 
{

clickHandler);
}
 //  Listen  for  the  click  event  on  the  Button  control
myButton.addEventListener  (MouseEvent.CLICK,
 private  function  clickHandler  (  event:Event  ):void
{
myLabel.text  =  "Hello,  World!";


]]> 
</mx:Script>
<mx:Panel
title="My  Application"  horizontalAlign="center"
paddingTop="10"  paddingBottom="10"  paddingLeft="10"
paddingRight="10">
<mx:Label  id="myLabel"  width="180"  fontWeight="bold"
fontSize="24"/> 
<mx:Button  id="myButton"  label="Click  Me!"  /> 
</mx:Panel>
</mx:Application>
运行结果图示:

小编物语:本文援引Dreamer's Blog ,特此感谢作者的努力。大家如果觉得这篇教程正是你所需要的话,请别忘了去作者的博客打打气啊。

时间: 2025-01-31 03:36:26

Flex Quick Starts中文翻译(三)的相关文章

Flex Quick Starts中文翻译(一)

中文 前言 Adobe  Flex  2.0 是一项新兴的技术,它基于强大的已经很成熟的 J2EE 平台,具有一些很强大并 且迷人的特性,比如 Flash 的表现能力,丰富的媒体和离线能力等等.Flex 2.0 虽然在前台表现为 Flash,却是更多地面向开发者(developer),而不是设计者(designer).你只需要编写代码就 可以使用各种控件做出很漂亮的东西,这是许多缺少艺术细胞的开发人员向往的事情.而且 Flex 除去了 Flash 中一些令很多人费解的东西,比如帧,元件等(我本人

Flex Quick Starts中文翻译(二)

中文 因为 MXML 文件是普通的 XML 文件,所以有很多的开发环境供你选择.你可以使用简单的文本编辑器,专门的 XML 编辑器,或者支持文本编辑的集成开发环境(IDE)来 编写 MXML 代码.Flex 提供了一个叫做 Adobe  Flex  Builder  2 专门的 IDE,你可 以使用它来开发你的应用程序.MXML 文件的第一行是 XML 声明.每个 MXML 文件的第一行都必须是 XML 声明. 接下来的一行是<mx:Application>  标签,它定义了Applicati

求中文翻译蒙文

问题描述 哪位网友可以帮我把中文翻译成蒙文(内蒙古文字)原文是:阿左旗宗别立交警支队,可以的话请发我QQ邮箱:1443354610@qq.com.万分感谢!! 解决方案 解决方案二:http://www.cndic.com/mongolia.aspx这个网站试试解决方案三:蒙文(队支警交立别宗旗左阿)解决方案四:这是技术贴?解决方案五:~@##$$%^&&&*(*

Word每一页的左边显示英语右边显示中文翻译

  现在,您想实现的效果是,在每一页里面,左边是英文,右边是对应的翻译好的中文.像这样的排版方式,可以方便我们更好的学习英语. ①使用分栏的是不科学的 要解决这个问题,很多人第一时间就会想到分栏,想把英文放在栏的左边,中文放在栏的右边.然而,这是可行的,却是不科学的. 因为,使用Word里面的自动分栏,原文英文和翻译后的中文,很难一一对应,造成学习上的困难.另外,如果您想再排版实现一一对应,那么,难度是非常大. ②使用文本框也是不合理的 以上方法难以实现.很多人会想到使用文本框的办法. 即在Wo

APS + 中文教程(三)--服务器端控制(一)

服务器|教程|控制|中文|服务器 三.Asp+ 服务器端控制 (Asp+ Server Control) 上次讲了一些有关ASP + 服务器端控制的内容,现在来详细讲一下.Asp + 服务器端控制是微软新提出的概念,它的实现是基于微软的.NET框架,它实际上是一种特殊的HTML元素,服务器端与它是交互的关系,在生成这些元素后不但能接受它们的值,还可以动态控制它们,以完成一些很COOL的功能.下面列出所有ASP + 目前支持的所有28个服务器端控制及其具体用法. 1. Adrotator : 广告

wps文档中怎么将中文翻译成英文

  我们在办公或者学习的时候经常会使用到wPS,有些时候由于特殊的需要我们要把中文翻译成其他语言,那么我们可不可以直接使用wps进行翻译而不通过其他翻译软件呢,那么下面小编就教大家wps文档将中文翻译成目标语言的方法. 1.打开待翻译的内容 2.找到工具栏 审阅--翻译 3.点击"翻译"按钮,选择原始语言及目标语言 4.选中需要翻译的文字 5.点击"翻译" 这样您就可以自己使用wps进行翻译了哦,当然如果有部分小错误您可以进行手动修改哦,希望对大家有用.

php ctype函数中文翻译和示例

 这篇文章主要介绍了php ctype函数中文翻译和示例,相关函数示例列出了多个,需要的朋友可以参考下 PHP Ctype扩展是PHP4.2开始就内建的扩展,注意,Ctype系列函数都只有一个字符串类型参数,它们返回布尔值.    代码如下: $str = "0.1123"; //检查字符串所有字符是否为数字 echo "ctype_digit:" . ctype_digit($str);  //空 //检测是否为数字字符串,可为负数和小数 echo "i

推荐《用Python进行自然语言处理》中文翻译-NLTK配套书

NLTK配套书<用Python进行自然语言处理>(Natural Language Processing with Python)已经出版好几年了,但是国内一直没有翻译的中文版,虽然读英文原版是最好的选择,但是对于多数读者,如果有中文版,一定是不错的.下午在微博上看到陈涛sean 同学提供了NLTK配套书的中译本下载,就追问了一下,之后译者和我私信联系,并交流了一下,才发现是作者无偿翻译的,并且没有出版计划的.翻译是个很苦的差事,向译者致敬,另外译者说里面有一些错误,希望能得到nlper们的指

Widget的中文翻译

上午,在TwitterFox上浮出一则关于widget中文翻译的,(好像是Zuola说?),建议用"外挂"这个词儿.有些靠谱,但不是很合适. Widget的本意是小器件.小工具.小玩意儿,所以很多中文翻译就直译了,比如小器件等,不过可能语言环境和Web文化环境的不同,听起来总是211.html">觉得奇怪.也有翻成窗件的,则形象多了. 如果说窗件的叫法来自用法上的外观,那么"外挂"的说法,则是动词化的角度来看,也因为从动作来说,所以能涵盖的比widg