本文主要介绍Flex的Button、ButtonBar、CheckBox、LinkBar、LinkButton、PopUpButton、RadioButton、RadioButtonGroup和ToggleButtonBar组件,这些组件是非常基础的组件,如果你是学习过Flex组件的可以飘过,本文主要是针对Flex组件的初学者,希望对Flex组件陌生的朋友起到一定的帮助作用。

一、Button组件

以上是Button的编程模型:

1 <mx:Buttonx="341"y="24"label="Button"height="56"width="104"2 enabled="true"fontSize="14"labelPlacement="right"3 id="btn"click="onClick()">4 </mx:Button>

从上面可以看到Button有很多的属性,我们只需要了解几个关键的常用属性便OK。如下常用属性:

1、emphasized:获取或设置一个布尔值,指示当按钮处于弹起状态时,Button 组件周围是否绘有边框。默认为:false

2、Label:按扭上显示的文本。

3、Icon:按扭上显示的图标。如:icon="@Embed('Images/mm-icon.png')"

4、click:按扭的监听单击事件所的方法。除了click也可以监听它的其他识见,如mouseMovemouseOvermouseOutrollOverrollOutmouseDownmouseUp

二、ButtonBar组件

ButtonBar组件可以理解为多个Button组件组合在一起形成的一个复合组件,其中的每一个组件也就是一个Button。

1 <mx:ButtonBarx="100"y="307"id="btnBar"itemClick="clickHandler(event)">2 <mx:dataProvider>3 <mx:Array>4 <mx:String>张三</mx:String>5 <mx:String>李四</mx:String>               6 <mx:String>王五</mx:String>7 </mx:Array>8 </mx:dataProvider>9 </mx:ButtonBar>

需要记住的就是它的itemClick事件,如上代码中。

1 internalfunction clickHandler(evt:ItemClickEvent):void2 {3 //通过evt便可得到当前ButtonBar中的被触发Click事件的组件项4 var label:String=evt.label;5 }

三、CheckBox组件

CheckBox组件就不用多说了,做过Winform/Web程序的人都认识他,他只有两种状态:选中|未选中,如下示例:

1 <mx:CheckBox x="341"y="120"label="同意"click="onClick()"selected="true"/>

应用得最多的就是它的click事件和selected属性。

四、LinkBar组件

LinkBar组件和上面的ButtonBar很相似,不同的是ButtonBar中的项全部都是有效的,而LinkBar中当前只有一项有效,也就是说只有一想可以点击:

1 <mx:LinkBarx="120"y="322"dataProvider="{viewStack}">2 </mx:LinkBar>3 <mx:ViewStackx="120"y="350"id="viewStack"width="200"height="87">4 <mx:Canvaslabel="语文"width="100%"height="100%"id="a"backgroundColor="#FF9494">5 </mx:Canvas>6 <mx:Canvaslabel="数学"width="100%"height="100%"id="b"backgroundColor="#A5DEFF">7 </mx:Canvas>8 <mx:Canvaslabel="英语"width="100%"height="100%"id=" backgroundColor="#014DBF"c">9 </mx:Canvas>10 </mx:ViewStack>

五、LinkButton组件

LinkButton组件和Button的使用基本是一样的,详细请参照Button组件,LinkButton的mxml编码如下:

1 <mx:LinkButtonx="499"y="41"label="LinkButton"icon="@Embed('Images/icon.png')"/>

六、PopUpButton组件

PopUpButton组件一般使用得不是很多,单独使用没有多大的意义,通常都是与其他的组件(如菜单--Menu)一起配合使用,实现的功能有点类似与ComBoBox的效果,详细请参考下面mxml定义:

1 <mx:PopUpButtonx="125"y="425"id="popUp"2 creationComplete="initPopUpButton()"width="76">3 </mx:PopUpButton>

通过creationComplete事件来设置协同工作的其他组件,或设置其数据源等:

1 privatevar m:Menu;2 internalfunction initPopUpButton():void3 {4 var dp:Object=[{label:"张三"}, {label:"李四"}, {label:"王五"}];5 m=newMenu();6 m.dataProvider=dp;7 m.selectedIndex=0;8 m.addEventListener("itemClick",itemClickHandler);9 popUp.popUp=m;10 popUp.label=m.dataProvider[m.selectedIndex].label;11 }12 /**13 * 默认监听的菜单事件14 **/15 internalfunction itemClickHandler(evt:MenuEvent):void16 {17 var label:String=evt.item.lebel;18 popUp.label=label;19 popUp.close();20 m.selectedIndex=evt.index;21 }

运行效果如下图:
     

七、RadioButton组件和RadioButtonGroup组件

RadioButton组件和CheckBox组件一样,在html和asp.net里也有这东西,使用和asp.net里差不多,如下编码:

1 <mx:RadioButtonx="352"y="261"label="男"selected="true"groupName="sex"/>2 <mx:RadioButtonx="408"y="261"label="女"groupName="sex"/>

八、ToggleButtonBar组件

ToggleButtonBar组件和ButtonBar类似,使用上也基本一致,这里就不用介绍了。mxml编码如下:

1 <mx:ToggleButtonBarx="369"y="330"id="togButton">2 <mx:dataProvider>3 <mx:Array>4 <mx:String>张三</mx:String>5 <mx:String>李四</mx:String>6 <mx:String>王五</mx:String>7 </mx:Array>8 </mx:dataProvider>9 </mx:ToggleButtonBar>

版权说明

本文属原创文章,欢迎转载,其版权归作者和博客园共有。

作      者:Beniao

文章出处:http://beniao.cnblogs.com/  或  http://www.cnblogs.com/

走近Flex组件系列(三):按扭组件(Button,CheckBox,LinkBar,LinkButton,PopUpButton,RadioButton,ToggleButtonBar)...相关推荐

  1. 走近Flex组件系列(四):分组组件(Box)、分割组件(DividedBox)和容器组件(Panel)

    本文主要介绍Flex的Box,DividedBox和Panel组件的应用. 一.分组组件(Box) Flex中Box组件分两种,即VBox和HBox,也就是水平分组布局和垂直分组布局.下面对这两中分别 ...

  2. 走进COM组件系列(三)

    前面介绍了,走进COM组件系列(二),在此基础上,我们构建参数在模块之间的传递. 其他内容请浏览COM+分类 首先修改idl文件,在接口方法中加入参数 interface IY : IUnknown ...

  3. 组件库系列三:编写组件库文档

    文章目录 vuepress介绍 创建文档工程 配置运行指令 vuepress浏览器自动更新 下载插件和依赖 npm/yarn link docs文件夹 .vuepress文件夹 可收缩代码块 效果展示 ...

  4. JS组件系列——开源免费图表组件:Chart.js

    前言:最近被开源免费得有点上火了,各种组件首先想到的就是是开源否.是否免费.是否和bootstrap风格一致.想着以后做报表肯定要用到图表组件的,于是在Bootstrap中文网上面找到了Chart.j ...

  5. React Native组件(四)TextInput组件解析

    相关文章 React Native探索系列 React Native组件系列 1 概述 TextInput组件和Text组件类似,内部都没有使用FlexBox布局,不同的是TextInput组件支持文 ...

  6. android中级组件,第3章 Android组件--3.3 Android中级组件【含答案】 Android应用开发基础...

    (1)单选题 1 下面哪些组件表示开关组件( )? A  CheckBox B  Switch C  RadioButton D  ImageView (2)单选题 2 下面哪些组件表示复选框( )? ...

  7. JS组件系列——BootstrapTable+KnockoutJS实现增删改查解决方案(三):两个Viewmodel搞定增删改查

    JS组件系列--BootstrapTable+KnockoutJS实现增删改查解决方案(三):两个Viewmodel搞定增删改查 参考文章: (1)JS组件系列--BootstrapTable+Kno ...

  8. vue + ArcGIS 地图应用系列三:添加常规的地图组件

    为了页面的美观,这里我们使用的UI库为: Ant Design Vue 项目源码仓库地址:https://github.com/LuckRain7/arcgis-api-for-javascript- ...

  9. bootstraptable 汇总_JS组件系列——表格组件神器:bootstrap table

    前言:前面介绍了两篇关于bootstrap table的基础用法,这章我们继续来看看它比较常用的一些功能,来个终结篇吧,毛爷爷告诉我们做事要有始有终~~bootstrap table这东西要想所有功能 ...

最新文章

  1. OpenCV-Java版学习(1.在IDEA中使用OpenCV)
  2. 用eclipse阅读编辑android和kernel,uboot的源代码
  3. vmrun 批量创建vmware虚拟机
  4. 20172318 2018-2019-1 《程序设计与数据结构》第9周学习总结
  5. 三八妇女节PSD分层海报,来啦!
  6. 小孩天天不愿意去幼儿园怎么办?
  7. 太原理工大学ICPC队介绍(2021版)
  8. fp16和fp32,神经网络混合精度训练,PYTORCH 采用FP16,Libtorch采用FP16,神经网络混合精度三种避免损失,TensorRT模型转换及部署(一)
  9. 深入解构magnitude_spectrum()
  10. python模拟操作_请用Python如何模拟键盘操作
  11. box-shadow兼容IE8浏览器写法
  12. RK3399 GMAC驱动失败,打印如下log,DMA engine initialization failed 原因
  13. CISSP第6/8知识点错题集
  14. 网站制作中 电脑网站与手机网站有哪些区别?
  15. linux里怎么看终端类型,如何区分Linux下的几种终端类型:tty、pty和pts
  16. 我在民大的网络创业经历
  17. 统计02:怎样描绘数据
  18. kddcup99预处理matlab,KDD CUP99数据集预处理
  19. linux上安装openal
  20. Oracle 11g 详细安装教程 Windows版

热门文章

  1. Mysql异常问题排查与处理——mysql的DNS反向解析和客户端网卡重启
  2. CSS2--字体样式
  3. TCP系列48—拥塞控制—11、FRTO拥塞撤销
  4. 移动端输入框弹出键盘控制
  5. An ffmpeg and SDL Tutorial
  6. 使用 python 开发 Web Service
  7. WSDL文件生成WEB service server端C#程序
  8. dayjs也可回显AntD DatePicker的值
  9. Java中九大内置对象
  10. CCF 差分约束--201809再卖菜