flashbuilder4 单选 RadioButton RadioButtonGroup

来源:互联网 发布:mac 远程 编辑:程序博客网 时间:2024/05/18 00:02

转载: http://www.fbair.net/bbs/read.php?tid=156


单选 RadioButton 和 RadioButtonGroup 控件介绍    RadioButtonGroup 相当于Html里面的<input type="radio" name="XXX"的Name属性, 而RadioButton 相当于<input type="radio"的每个值

官方文档
http://help.adobe.com/zh_CN/flex/using/WS2db454920e96a9e51e63e3d11c0bf69084-7d8b.html
http://help.adobe.com/zh_CN/AS3LCR/Flex_4.0/mx/controls/RadioButton.html
http://help.adobe.com/zh_CN/AS3LCR/Flex_4.0/spark/components/RadioButton.html

单选框 RadioButton  组件 有2种 分别包含在  MX and Spark 组件里面, 官方建议 使用spark组件里面的

RadioButtonGroup 由于是非可见元素 需要放到 <fx:Declarations> 标签中

[pre]RadioButton  的 click事件  请查看如下例子中的 click="handleAmEx(event)", click="handleMC(event), click="handleVisa(event)

复制代码
  1. <?xml version="1.0"?>
  2. <!-- controls\button\RBEvent.mxml -->
  3. <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
  4.     xmlns:s="library://ns.adobe.com/flex/spark"
  5.     xmlns:mx="library://ns.adobe.com/flex/mx">
  6.     <fx:Script>
  7.         <![CDATA[  
  8.             import flash.events.Event;
  9.             private function handleAmEx(event:Event):void {
  10.                 // Handle event.
  11.                 myTA.text="Got Amex";
  12.             }
  13.             private function handleMC(event:Event):void {
  14.                 // Handle event.
  15.                 myTA.text="Got MasterCard";
  16.             }
  17.             private function handleVisa(event:Event):void {
  18.                 // Handle event.
  19.                 myTA.text="Got Visa";
  20.             }
  21.         ]]>
  22.     </fx:Script>
  23.     
  24.     <s:VGroup>
  25.         <s:RadioButton groupName="cardtype"
  26.             id="americanExpress"
  27.             label="American Express"
  28.             width="150"
  29.             click="handleAmEx(event);"/>
  30.         <s:RadioButton groupName="cardtype"
  31.             id="masterCard"
  32.             label="MasterCard"
  33.             width="150"
  34.             click="handleMC(event);"/>
  35.         <s:RadioButton groupName="cardtype"
  36.             id="visa"
  37.             label="Visa"
  38.             width="150"
  39.             click="handleVisa(event);"/>
  40.         <s:TextArea id="myTA"/>
  41.     </s:VGroup>
  42. </s:Application>





创建一组 单选框 由于 所有的 RadioButton 都属于 cardtype 组 所以可以直接 用 cardtype.selectedValue 显示选中的值
复制代码
  1. <?xml version="1.0"?>
  2. <!-- controls\button\RBGroupSimple.mxml -->
  3. <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
  4.     xmlns:s="library://ns.adobe.com/flex/spark"
  5.     xmlns:mx="library://ns.adobe.com/flex/mx">
  6.     <fx:Script>
  7.         <![CDATA[  
  8.             import mx.events.ItemClickEvent;
  9.             private function handleCard(event:ItemClickEvent):void {
  10.                 //Print the value of the selected RadioButton in the Text Area
  11.                 var cardValue:Object = cardtype.selectedValue;
  12.                 myTA.text="You selected " + cardValue;
  13.             }
  14.         ]]>
  15.     </fx:Script>
  16.     
  17.     <fx:Declarations>
  18.         <s:RadioButtonGroup id="cardtype"
  19.             itemClick="handleCard(event);"/>
  20.     </fx:Declarations>
  21.     
  22.     <s:VGroup>
  23.         <s:RadioButton group="{cardtype}"
  24.             id="americanExpress"
  25.             label="American Express"
  26.             width="150"/>
  27.         <s:RadioButton group="{cardtype}"
  28.             id="masterCard"
  29.             label="MasterCard"
  30.             width="150"/>
  31.         <s:RadioButton group="{cardtype}"
  32.             id="visa"
  33.             label="Visa"
  34.             width="150"/>
  35.         <s:TextArea id="myTA"/>
  36.     </s:VGroup>
  37. </s:Application>




通过设置的 “click点击” ItemClickEvent 监听器 private function handleCard(event:ItemClickEvent):void 来监听单选选择时的 click 事件

复制代码
  1. <?xml version="1.0"?>
  2. <!-- controls\button\RBGroupEvent.mxml -->
  3. <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
  4.     xmlns:s="library://ns.adobe.com/flex/spark"
  5.     xmlns:mx="library://ns.adobe.com/flex/mx">
  6.     <fx:Script>
  7.         <![CDATA[  
  8.             import mx.controls.Alert;
  9.             import mx.events.ItemClickEvent;//需要导入该包
  10.     
  11.             private function handleCard(event:ItemClickEvent):void {
  12.                 if (event.currentTarget.selectedValue == "AmEx") {
  13.                     Alert.show("You selected American Express.");
  14.                 } else if (event.currentTarget.selectedValue == "MC") {
  15.                         Alert.show("You selected MasterCard.");
  16.                 } else {
  17.                     Alert.show("You selected Visa.");
  18.                 }
  19.             }
  20.         ]]>
  21.     </fx:Script>
  22.     
  23.     <fx:Declarations>
  24.         <s:RadioButtonGroup id="cardtype"
  25.             itemClick="handleCard(event);"/>
  26.     </fx:Declarations>
  27.     
  28.     <s:VGroup>
  29.         <s:RadioButton group="{cardtype}"
  30.             id="americanExpress"
  31.             value="AmEx"
  32.             label="American Express"
  33.             width="150"/>
  34.         <s:RadioButton group="{cardtype}"
  35.             id="masterCard"
  36.             value="MC"
  37.             label="MasterCard"
  38.             width="150"/>
  39.         <s:RadioButton group="{cardtype}"
  40.             id="visa"
  41.             value="Visa"
  42.             label="Visa"
  43.             width="150"/>
  44.     </s:VGroup>
  45. </s:Application>





通过键盘操作 单选


原创粉丝点击