使用MX450的笔记本,使用MXenes的例子
使用MXML
MXML是我们可以用来为Adobe Flex程序设计用户界面的工具。我们还可以使用MXML来定义程序的不可见部分,比如对服务器端数据源的访问,以及用户界面模块和服务器端数据源之间的数据绑定。本主题介绍了MXML,并描述了MXML和程序标准之间的联系。
使用MXML
我们使用两种语言来编写Flex程序:MXML和ActionScript。Mx是一种MXML标记语言,我们可以用它来设计用户界面模块。我们还可以使用MXML来定义程序的不可见部分,例如对服务器数据源的访问以及用户界面模块和服务器数据源之间的数据绑定。
类似于HTML,MXML提供标签来定义用户界面。如果我们已经使用HTML工作,MXML看起来非常熟悉。然而,MXML比HTML更结构化,它提供了更丰富的标签集。例如,MXML包含可视化组件标签,如数据网格、树、标签浏览、菜单等。包括提供网络服务连接、数据绑定和动画效果的非可视组件。同时,我们可以使用自定义组件来扩展MXML,这些组件可以作为MXML标签引用。
MXML和HTML最大的区别在于,MXML定义的程序会被编译成SWF文件,用Flash player运行,从而提供比基于页面的HTML程序更丰富、更动态的用户界面。
我们可以在单个文件或多个文件中编写MXML程序。MXML支持用MXML和ActionScript文件编写的自定义组件。
写一个简单的程序。
因为MXML是一个普通的XML文件,所以我们在开发环境中有很多选择。我们可以在简单的文本编辑器、XML编辑器或支持文本编辑的集成开发环境(IDE)中编写MXML代码。Adobe提供了一个叫做Flex Builder的专业IDE,我们可以用它来开发我们的程序。
下面的例子展示了一个简单的“Hello World”程序,它只包含一个mx:Application标签和两个子标签mx:Panel和MX: label。Mx:应用程序标签总是一个程序的根标签。Mx:Panel标签定义了一个面板容器,它可以包含标题栏、标题、状态信息、边框和内容区域作为其子节点。Mx:Label label代表一个标签控件,一个用于显示文本的简单用户界面模块。
?xml版本=1.0 编码=utf-8 ?
MX:Application xmlns:MX= http://www . adobe . com/2006/mxml
mx:Panel title=我的应用程序 padding top= 10 padding bottom= 10
padding left= 10 padding right= 10
mx:Label text=Hello World!font weight= bold font size= 24 /
/mx:面板
/mx:应用程序
将此代码保存为hello.mxml文件。MXML文件名必须以mxml为扩展名。然后我们可以编译并运行生成的SWF文件。
下图显示了浏览器窗口运行“Hello World”程序的运行结果:
关于XML编码
文档的第一行表示声明的可选XML版本。包含指示MXML如何编码的编码信息是一个好习惯。许多文本编辑器可以让我们选择文件编码。在北美操作系统中,ISO-8859-1是主流的编码格式,很多程序默认使用这种编码格式。我们可以使用UTF-8编码格式来确保最大的平台兼容性。UTF-8为文件中的每个字符提供了一个唯一的编号,它独立于平台、程序和语言。如果我们指定编码格式,它必须匹配我们使用的文件编码。以下示例显示了指示UTF8编码的XML声明:
?xml版本=1.0 编码=utf-8 ?
关于mx:应用程序选项卡
除了作为Flex程序的根标签,mx:Application标签还代表了一个程序容器。容器是一个用户界面模块,它包含其他组件并具有内置的子组件布局规则。默认情况下,程序容器从上到下布局其子组件。我们可以在程序容器中嵌入其他容器类型,比如上面显示的面板容器。
关于MXML标签属性
ML标签的属性,比如mx:Label标签的text、color和fontsize属性,允许我们定义组件的初始状态。我们可以在mx:Script标签中使用Application来改变运行时组件的状态。
MXML标签和ActionScript类之间的关系
Adobe Flex是作为ActionScript类库实现的。该类库包含组件(容器和控件)、管理器类、数据服务类和其他功能。我们使用MXML与ActionScript语言类库合作开发我们的程序。
MXML标签对应于ActionScript类或该类的属性。flexmxml标签被分析并编译成包含相应ActionScript对象的SWF Flex。例如,Flex提供ActionScript按钮类来定义Flex按钮控件。在MXML,我们使用下面的MXML语句来创建一个按钮控件:
mx:按钮标签=提交/
当我们使用MXML标签定义一个控件时,我们创建了这个类的一个实例对象。这个MXML语句创建一个按钮对象,并将按钮对象的label属性初始化为字符串Submit。
对应于ActionScript类的MXML标签使用与ActionScript类相同的命名约定。类名以大写字母开头,在类名中单词由大写字母分隔。每个MXML标签对应于ActionScript类的一个属性,该属性适用于该对象的样式或该对象的事件侦听器。
在Flex Builder中使用MXML
Flex Builder包括一个用于Adobe Flex程序开发的代码编辑器。当我们使用MXML时,Flex Builder代码编辑器通过提示帮助我们完成代码、检查语法错误和格式化代码以增强可读性,从而帮助我们简化代码编辑任务。
MXML与标准的关系
MXML使用标准。在本节中,我们将描述MXML和以下标准之间的关系:
可扩展置标语言
事件模型
网络服务
爪哇
超文本传送协议
画
半铸钢钢性铸铁(Cast Semi-Steel)
XML标准
我们用XML文档编写Flex程序。XML使用标记来定义结构化信息及其关系。在MXML,mx:Application定义了一个程序的根标签。我们在mx:Application标签的子标签中定义了程序的其他部分。ML标签的例子包括容器标签,如定义用户界面矩形区域的mx:VBox,以及定义常用用户界面控件的控件标签,如mx:TextInput。
事件模型标准
Flex事件模型是文档对象模型(DOM) 3事件的子集,是W3C的工作草案。DOM定义了一个事件系统,它允许平台无关和语言无关的事件侦听器注册,通过一个树结构描述事件流,并为每个事件提供基本的上下文信息。MXML提供了标记属性,允许我们指定应用程序代码来处理事件。例如,在下面的示例中,click事件侦听器发送一个网络服务请求:
MX:Button click= myweb service . my operation . send()/
Web服务标准
Flex标签用于与web服务交互,Web服务的接口在Web服务描述语言文档(WSDL)中定义,可以通过URL获得。WSDL是web服务理解的消息描述的标准格式,对应于对这些消息的响应格式、web服务支持的协议以及消息发送到的位置。
Flex程序支持网络服务请求,结果采用简单对象访问协议(SOAP)消息格式,通过HTTP传输。SOAP提供了一个基于XML的定义,我们可以使用它在web服务客户端(例如,Flex程序)之间转换结构化和类型化的信息。
Java标准
Flex MXML标签用于与服务器端Java对象交互,包括常见的旧Java对象、JavaBean和EJB。
HTTP标准
Flex标签用于发送标准的HTTP GET或POST请求,并处理HTTP响应返回的数据。
图像标准
Flex MXML标签是用来在程序中使用JPEG,GIF和PNG图像的。Flex还提供了标签来导入程序中的SWF文件和SVG文件。
CSS标准
W3C的CSS标准定义并使用了MXML风格。CSS提供了一种机制,可以用来定义文本格式和我们想要在Flex组件上实现的视觉效果。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。