2. 视图/View 组件定义了应用程序的用户界面。
3. 控制器/Controller 组件则负责处理程序中的数据连接。
2. web 应用服务器,如JRun、ColdFusion 或者PHP,它们可以动态地生成页面。在这
种情况下,将使用到与服务器技术相关的库,并动态地处理它们的内容。
3. J2EE 应用服务器或servlet 容器。向一个J2EE 应用服务器或servlet 容器发出请求,
如JRun、Tomcat 或WebSphere,通常你需要使用Flex Data Services。
1. 处理事件
2. 处理错误
3. 在MXML 语句中将数据对象绑定到Flex 控件上
4. 定制组件
<!-- ?xml 标签必须位于第一行-->
<!--MXML 根元素标签-->
<mx:Application xmlns:mx="[url]http://www.adobe.com/2006/mxml[/url]">
<!--定义一个面板容器来放置控件-->
<mx:Panel title="My Application">
<!--TextInput 控件用来进行用户输入-->
<mx:TextInput id="myInput" width="150" text=""/>
<!--TextArea 控件用来进行输出-->
<mx:TextArea id="myText" text="" width="150"/>
<!--按钮控件来触发拷贝-->
<mx:Button id="myButton" label="Copy Text"
click="myText.text=myInput.text;"/>
</mx:Panel>
</mx:Application>
ActionScript 代码,但是对于更为复杂的逻辑实现,你就需要在<mx:Script>块中定义
ActionScrip
<!-- ?xml 标签必须位于第一行-->
<!--MXML 根元素标签-->
<mx:Application xmlns:mx="[url]http://www.adobe.com/2006/mxml[/url]">
<mx:Script>
<![CDATA[
// 定义一个ActionScript 功能函数
private function duplicate():void {
myText.text=myInput.text;
}
]]>
</mx:Script>
<!--定义一个面板容器来放置控件-->
<mx:Panel title="My Application">
<!-- TextInput 控件用来进行用户输入-->
<mx:TextInput id="myInput" width="150" text=""/>
<!-- TextArea 控件用来进行输出-->
<mx:TextArea id="myText" text="" width="150"/>
<!--按钮控件来触发拷贝-->
<mx:Button id="myButton" label="Copy Text"
click="duplicate();"/>
</mx:Panel>
</mx:Application>
在本例中,使用ActionScript 功能函数来实现了一个事件监听器。这样做的好处是使MXML 代码与ActionScript 代码分离,以提供更好的健壮性和灵活性。
Flex 提供简洁的语法来实现组件间的、或与数据模型的绑定。随后的例子中,在波浪括号/{ }里的数值将TextArea 控件与TextInput 控件的文本属性联系起来。当用户在TextInput控件中输入文本时,它会自动地拷贝到TextArea 控件中去
<!-- ?xml tag must start in line 1 column 1 -->
<!-- MXML root element tag. -->
<mx:Application xmlns:mx="[url]http://www.adobe.com/2006/mxml[/url]">
<!-- Flex controls exist in a container. Define a Panel container. -->
<mx:Panel title="My Application">
<!-- TextInput control for user input. -->
<mx:TextInput id="myInput" width="150" text=""/>
<!-- Output TextArea control. -->
<mx:TextArea id="myText" text="{myInput.text}" width="150"/>
</mx:Panel>
</mx:Application>
<![CDATA[
public function showErrorDialog(error:String):void {
// 具体功能实现...
}
]]>
</mx:Script>
...
<mx:WebService id="WeatherService" ...">
<mx:operation name="getFoo"
fault="showErrorDialog(event.fault.faultString);"/>
</mx:WebService>
2. 样式/Styles,即一组特性,如字体、排列方式、颜色等。它们都是通过层叠样式(CSS)来进行设置的。
3. 皮肤/Skins,即可以进行改变的组件视觉元素。
4. 行为/Behaviors,即Flex 组件在视觉或听觉效果方面的变化。
6. 视图状态/View state 可以让你通过修改它的基础内容,来改变组件或程序的内容和外观。
7. 变换/Transitions 可以让你定义屏幕上发生改变的视图状态。
件),管理类,数据服务类等等。事实上,你是在使用类库所支持的MXML 和ActionScript来开发Flex 应用程序。
MXML 标签与ActionScript 类或类的属性相对应。Flex 剖析MXML 标签并编译成相应的SWF 文件
2. 事件模型标准。Flex 事件模型是文档对象模型/Document Object Model (DOM)第
三级事件的一个子集,该模型是由World Wide Web Consortium(W3C)起草制定。
3. Web 服务标准
Flex 提供与服务器交互的MXML 标签,遵循了Web 服务描述语言/Web Services
Description Language(WSDL)的规则。具体包括了简单对象访问协议/Simple Object Access
Protocol(SOAP)和超文本传送协议/Hypertext Transfer Protocol(HTTP)。
4. Java 标准
Flex 提供了与服务器端Java 对象交互的MXML 标签,包括plain old Java objects
(POJOs),JavaBeans 和企业级/Enterprise JavaBeans(EJBs)。
5. HTTP 标准
Flex 提供了相应的MXML 标签去支持标准的HTTP GET 和POST 请求,以及对HTTP
返回数据的处理。
6. 图形标准
Flex 还提供了相应的MXML 标签去使用JPEG,GIF 和PNG 图象。Flex 还能够将SWF
文件和Scalable Vector Graphics(SVG)文件导入到应用程序中。
7. 层叠样式表标准
MXML 样式的定义和使用遵循了W3C Cascading Style Sheets (CSS)标准。
你可以运用如下所示方法在Flex 中使用ActionScript:
1. 在<mx:Script>标签中插入ActionScript 代码块。
2. 调用存储在system_classes 目录结构中的全局ActionScript 功能函数。
3. 引用user_classes 中的外部类和包来处理更为复杂的任务。
4. 使用标准的Flex 组件。
5. 使用ActionScript 类扩展已有的组件。
6. 使用ActionScript 创建新的组件。
7. 在Flash 创建环境中创建新的组件(SWC 文件)。
package myControls
{
public class MyButton extends Button {
public function MyButton() {
...
}
...
}
}
这个例子中,你在MyButton.as 文件里编写好MyButton 控件,并将文件保存到Flex 应用程序的根目录的myControls 子目录下
xmlns:cmp="myControls.*" >
<cmp:MyButton label="Jack"/>
</mx:Application>