<mx:RadioButton groupName="card" id="visa" label="Visa"/> </mx:VBox>
组件的名字就是源文件的名字。如,源文件的名字是CreditCardChooser.mxml,组件的名字就是CreditCardChooser,这样,这个标签名就可以用了。下面的例子就用上了刚才创建的CreditCardChoose组件。
<?xml version="1.0" encoding="iso-8859-1"?> <mx:Application xmlns:mx="http://www.macromedia.com/2003/mxml"> <mx:Label text="Select a credit card:"/> <CreditCardChooser/> </mx:Application>

图3. CreditCardChooser应用
界面开发者还能在Macromedia Flash开发环境中创建复杂的可视化组件,并存为SWC文件。
当然,也可以只用ActionScript定义来整个组件,这种方法一般用于定义应用中的非可视组件。你可能会为这样商业对象创建非可视组件——例如,包含客户端逻辑的购物车,或是应用中helper类。
数据访问
Macromedia Flex为面向服务器架构(SOA – service-oriented architecture)而开发。在这一模型中,应用通过与分散在不同地方的服务进行交互,来完成自己的任务。例如,如果创建一个在线旅行应用,你需要与不同的服务进行交互:全球旅馆预定服务,目的信息服务,天气服务等等。这些服务可能以不同的机制来提供,并且来自不同的地方。Flex使你能在客户端汇集信息,并提供三种不同的数据服务组件,以满足对服务提供者进行特定数据访问的需求:WebService组件,HTTPService组件(一般使用XML通过HTTP进行数据访问)以及RemoteObject组件。MXML允许你用相应的WebService, HTTPService, and RemoteObject标签来设置与服务的连接。
数据绑定
在许多语言中,如何在用户界面控件中显示后台数据,是件令人头疼的事情,而且非常容易出错。收集用户在控件中输入的数据,并传给远程服务也常常是件乏味的事情。
Flex的特色之一,就是提供了双向的数据绑定机制:你可以将用户界面控件绑定到服务调用的数据结果集上,反过来,也可以将服务的参数绑定到用户界面控件输入的值上。
下面是一个简单的股票报价应用。例子使用了WebService标签来设置与XMMethods提供的股价web服务进行连接。这个例子阐明了Flex的双向绑定功能。getQuote方法的symbol输入参数被绑定到symbol TextInput组件上。quote标签被绑定到getQute方法的调用结果上。
<?xml version="1.0" encoding="iso-8859-1"?> <mx:Application xmlns:mx="http://www.macromedia.com/2003/mxml"> <mx:WebService id="wsStock" wsdl="http://services.xmethods.net/soap/urn:xmethods-delayed-quotes.wsdl"> <mx:operation name="getQuote"> <mx:request> <symbol>{symbol.text}</symbol> </mx:request> </mx:operation> </mx:WebService> <mx:Label text="Enter a symbol:"/> <mx:HBox> <mx:TextInput id="symbol"/> <mx:Button label="Get Quote" click='wsStock.getQuote.send()'/> </mx:HBox> <mx:Label id="quote" fontWeight="bold">{wsStock.getQuote.result}</mx:Label>
上一篇:面向对象编程,我的思想(1)
下一篇:MacromediaColdFusionMX开发者(1)
|