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

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

 

一、Button组件

     以上是Button的编程模型:

1 <mx:Button x="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:ButtonBar x="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 internal function clickHandler(evt:ItemClickEvent):void
2 {
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:LinkBar x="120" y="322" dataProvider="{viewStack}">
 2 </mx:LinkBar>
 3 <mx:ViewStack x="120" y="350" id="viewStack" width="200" height="87">
 4     <mx:Canvas label="语文" width="100%" height="100%" id="a" backgroundColor="#FF9494">
 5     </mx:Canvas>
 6     <mx:Canvas label="数学" width="100%" height="100%" id="b" backgroundColor="#A5DEFF">
 7     </mx:Canvas>
 8     <mx:Canvas label="英语" width="100%" height="100%" id=" backgroundColor="#014DBF"c">
 9     </mx:Canvas>
10 </mx:ViewStack>

 

 

 

五、LinkButton组件

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

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

 

六、PopUpButton组件

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

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

 

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

 1 private var m:Menu;
 2 internal function initPopUpButton():void
 3 {
 4     var dp:Object = [{label: "张三"}, {label: "李四"}, {label: "王五"}];
 5     m = new Menu();
 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 internal function itemClickHandler(evt:MenuEvent):void
16 {
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:RadioButton x="352" y="261" label="男" selected="true" groupName="sex"/>
2 <mx:RadioButton x="408" y="261" label="女" groupName="sex"/>

 

八、ToggleButtonBar组件

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

1 <mx:ToggleButtonBar x="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/

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/268710.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php组装json数据包,php封装json通信接口详解及实例

php创建JSON数据详解&#xff1a;//创建一个字符数组$arrarray(id>1,name>david);echo json_encode($arr);//这个是创建JSON的关键函数?>实现结果{"id":1,"name":"david"}注意&#xff1a; json_encode($value);这个函数只能接收utf-8…

Jmeter 参数化请求实例

Jmeter 参数化请求实例 在jmeter中的请求可以参数化&#xff0c;其中参数化的方式有4种&#xff1a; 1.CSV Data Set Config 2.数据库 3.用户自定义变量 4.用jmeter中的函数获取参数值 第一种方式&#xff1a;CSV Data Set Config 1.创建一个data.txt文件&#xff0c;内容如下…

winform Tab键循序 小发现

在Winform 的应用程序中,我们通常需要设置Tab的键的循序,当我们使用用户控件的时候,我们在界面会发现很难设置. 将我的小发现告诉大家吧,当需要设置用户控件的Tab键的时候,我们首先把那些不用tab键获取的控件的TabStop属性设置为False; 例如: 我们不需要获取焦点的GroupBox gbK…

mybatis存入new Date()没有时分秒

1:查看date包是不是 import java.util.Date; 2:实体类的类型为Date 3:xml中的类型映射为TIMESTAMP 我用的OPT_TIME #{optTime,jdbcTypeDATE},jdbcType 改为TIMESTAMP OPT_TIME #{optTime,jdbcTypeTIMESTAMP},

php配合jade使用,前端自动化系列(四)之jade预编译html

刚开始写这篇文章的时候&#xff1b;其实我是拒绝的&#xff1b;因为在 前端自动化系列(二)之less、scss、sass、stylus css预处理器 中&#xff1b;我已经表明了我的态度&#xff1b;我是不喜欢那种靠缩进来体现等级层次感的语法&#xff1b;但是考虑到css、js都有了现代化的写…

深入理解OkHttp源码(二)——获取响应

首先先看一张流程图&#xff0c;该图是从拆轮子系列&#xff1a;拆 OkHttp 中盗来的&#xff0c;如下&#xff1a; 在上一篇博客深入理解OkHttp源码&#xff08;一)——提交请求中介绍到了getResponseWithInterceptorChain()方法&#xff0c;本篇主要从这儿继续往下讲解。 get…

网络邻居无法共享解决办法

公司办公室有两台电脑&#xff0c;分别是A和B&#xff0c;由于工作的需要&#xff0c;我想把B电脑里的一些文件复制到A电脑里。于是我便像往常一样打开了网上邻居&#xff0c;当我双击B电脑的时却出现提示&#xff1a;“Workgroup无法访问.您可能没有权限使用网络资源.请与这台…

成功解决Error running ‘Application‘: command line is too long

解决方法&#xff08;推荐&#xff09;&#xff1a;idea点击 Run -> Edit Configurations 下拉选择JAR manifest 开始是没有这个选项的&#xff0c;点击Modify options 点击shorten command line 选择JAR manifest

java getabsolutepath,详谈java中File类getPath()、getAbsolutePath()、getCanonical的区别

简单看一下描述&#xff0c;例子最重要。1、getPath()&#xff1a;返回定义时的路径&#xff0c;(就是你写什么路径&#xff0c;他就返回什么路径)返回绝对路径&#xff0c;但不会处理“.”和“..”的情况3、getCanonicalPath()&#xff1a;返回的是规范化的绝对路径&#xff0…

css制作导航

<!DOCTYPE html><html lang"en"><head> <meta charset"UTF-8"> <title>轮播</title> <style> body,ul,li{ margin: 0; padding: 0; font-size: 13px; font-family: "微软雅黑"; list-style: none; } …

IDEA 出现 java.lang.OutOfMemoryError: Java heap space 解决方式

File–>settings–>Build,Execution,Deployment–>Compiler 把图中700修改为4096

使用Exchange 的SMTP连接器路由/中继邮件的设定图例

博主的话&#xff1a;在钉子的博客上看到的文章&#xff0c;觉得很实用&#xff0e;因为公司有多个分公司&#xff0c;且邮件系统的域名不一样&#xff0c;对于特定的域名&#xff0c;我们觉得文中说的新建SMTP连接器,来实现对个别域名从专线发送.特别是对于国外的分公司,应该不…

java记事本课程设计,java记事本课程设计

java记事本课程设计 一、 设计内容和要求1、 设计一个具有 GUI 界面的记事本 含有简单的文字编辑功能 如 剪切、复制、粘贴、删除 还能实现保存、另存为、设置字体和颜色等功能。2、 本程序要构建的记事本程序参照了 Windows 操作系统的记事本工具 其功能有以下几个方…

响应式网页设计

viewport 定义 可视区域移动端:布局视口(大部分980px)/理想视口(视口宽度设备宽度)设置 <meta name"viewport" content"widthdevice-width,initial-scale1.0"> 设置选项 width 视口宽度 通常设置为device-widthheight 视口高度initical-calse 初始化…

MQFaultStrategy主要是用来规划消息发送时的延迟策略

这个类主要是用来规划消息发送时的延迟策略 package com.aliyun.openservices.shade.com.alibaba.rocketmq.client.latency;import com.aliyun.openservices.shade.com.alibaba.rocketmq.client.impl.producer.TopicPublishInfo; import com.aliyun.openservices.shade.com.ali…

[原创]Zenoss配置入门-邮件短信通知

前言&#xff1a;Zenoss提供了强大的事件告警通知功能&#xff0c;它提供两种方式&#xff0c;Email和pages(短信还是BB机&#xff1f;&#xff09;。Email实时性不强&#xff0c;Pages又不知道怎么去配置&#xff0c;可能需要短信网关之类的吧。如何让zenoss的事件能第一时间通…

img=img%3e128 matlab,Matlab中一般的数值计算和使用

前言Matlab中的计算可以分为符号计算和数值计算前面所讲的都是数值计算,今天我们来讲关于符号计算符号计算的第一步就是定义符号syms a,b,c %定义多个符号变量a,b,csym(a) %定义单个符号变量一些常用的函数limitlimit(f):x趋于0时,函数f(x)的极限limit(f,x,a)或limit(f,a) :x趋…

spring boot 读取 application.properties 初始化bean

application.properties bean1.hello 你好~bean2.name name bean2.title titlebean3.info[name] name bean3.info[title] title bean3.info[age] agebean4.info[0] name0 bean4.info[1] name1 bean4.info[2] name2 bean4.info[3] name3BeanController Rest…