Flex组件开发常见问题解决方案

开发 后端
你对Flex组件开发的概念是否了解,这里向大家介绍一下Flex组件开发过程中遇到的一些常见问题及解决方案,希望本文介绍对你有所帮助。

本文和大家重点讨论一Flex组件开发过程中遇到的常见问题及解决方案,相信通过本文的学习你对Flex组件开发有更加深刻的认识。

Flex组件开发总结

1.如何监听键盘事件?

  1. <mx:TextAreaidmx:TextAreaid="textEditor"keyDown="sendKeyHandler(event)"x="11"y="366"width="399"/> 
  2.  
  3. privatefunctionsendKeyHandler(evt:KeyboardEvent):void  
  4. {  
  5.  
  6. //Enter键  
  7.  
  8. if(evt.keyCode==13)  
  9. {  
  10. this.sendTxt();  
  11.  
  12. return;  
  13. }  
  14.  
  15. }  
  16.  

 代码说明:有两种类型的键盘事件:KeyboardEvent.KEY_DOWN和KeyboardEvent.KEY_UP

以上是监听的是回车事件

要是想监听组合键,例如:Ctrl+Enter键,代码如下:

  1. if(evt.keyCode==13&&evt.ctrlKey)  
  2. {  
  3. }  
  4.  

 2.Flex组件开发时怎么控制RichTextEditor的控制栏?

利用showControlBar属性,控制RichTextEditor的控制栏,这样把整个控制栏都关闭了

要是想分别控制控制栏中各寄宿控件,可以参考如下代码:

  1. this.textEditor.alignButtons.height=0;  
  2. this.textEditor.alignButtons.visible=false;  
  3.  
  4. this.textEditor.bulletButton.height=0;  
  5. this.textEditor.bulletButton.visible=false;  
  6.  
  7. this.textEditor.linkTextInput.height=0;  
  8. this.textEditor.linkTextInput.visible=false;  
  9.  
  10. this.textEditor._RichTextEditor_VRule1.height=0;  
  11. this.textEditor._RichTextEditor_VRule1.visible=false;  
  12.  
  13. this.textEditor._RichTextEditor_VRule2.height=0;  
  14. this.textEditor._RichTextEditor_VRule2.visible=false;  
  15.  

 当然,还可以参考这文章

http://blog.minidx.com/2008/12/29/1841.html

3.Flex组件开发时控件双击事件(DoubleClickEvent)怎么没反应?

  1. <mx:ButtondoubleClickEnabledmx:ButtondoubleClickEnabled="true"doubleClick="doubleClickHandler(event)"x="48"y="32"label="Button"/> 
  2.  
  3. privatefunctiondoubleClickHandler(evt:MouseEvent):void  
  4. {  
  5. Alert.show("doubleClick");  
  6. }  
  7.  

 代码说明:

doubleClickEnabled属性:指定对象是否接收doubleClick事件。默认值为false,这意味着在默认情况下,不接收doubleClick事件。如果将doubleClickEnabled属性设置为true,实例在其范围内接收doubleClick事件

4.Flex组件开发时怎么在TextArea的光标位置插入字符?

  1. <mx:TextAreaidmx:TextAreaid="textEditor"x="11"y="366"width="399"/> 
  2.  
  3. privatefunctioninsertString(insertStr:String):void  
  4. {  
  5. if(this.textEditor.selectionBeginIndex==this.textEditor.selectionEndIndex)  
  6. {  
  7. varstartPart:String=this.textEditor.text.substring(0,this.textEditor.selectionBeginIndex);  
  8. varendPart:String=this.textEditor.text.substring(this.textEditor.selectionEndIndex,  
  9. this.textEditor.text.length);  
  10. startPart+=insertStr;  
  11. startPart+=endPart;  
  12. this.textEditor.text=startPart;  
  13. }  
  14. else  
  15. {  
  16. this.textEditor.text=insertStr;  
  17. }  
  18. }  
  19.  

 5.实现TextArea控件的滚动条始终保持在最下面?

  1. this.txt_content.addEventListener(FlexEvent.VALUE_COMMIT,VALUE_COMMITHandler);  
  2. privatefunctionVALUE_COMMITHandler(evt:FlexEvent):  
  3. void{txt_contenttxt_content.verticalScrollPosition=  
  4. txt_content.maxVerticalScrollPosition;  
  5. }  
  6.  

 代码说明:这段代码是为了实现TextArea控件的滚动条始终保持在最下面,以方便用户查看聊天信息

要是VBox控件需要实现类似效果,可以看如下代码:

  1. <mx:VBoxidmx:VBoxid="vd"updateComplete="updateCompleteHandler(event)"
  2. x="10"y="10"width="399"height="348"> 
  3.  
  4. privatefunctionupdateCompleteHandler(evt:FlexEvent):void  
  5. {  
  6. thisthis.vd.verticalScrollPosition=this.vd.maxVerticalScrollPosition;  
  7. }  
  8.  

【编辑推荐】

  1. Flex组件开发总结
  2. 从Flex Builder更名看Flash平台战略
  3. Flex及FlexBuilder2.0开发环境详解
  4. FlexBuilder3.0与Eclipse3.4的***结合
  5. 学习笔记 FlexBuilder2.0中如何使用基于Lists的控件 

 

 

 

责任编辑:佚名 来源: javaeye.com
相关推荐

2010-08-26 12:59:29

marginCSS

2019-04-04 13:11:37

React内存泄露memory leak

2021-08-20 15:49:13

电脑主板维修

2009-12-24 11:13:41

2011-01-21 14:13:10

2010-07-30 12:40:00

Flex跨域访问

2012-05-09 10:08:41

跨机房

2011-07-28 11:28:21

SQL Server数注册表编辑器

2010-01-05 10:02:56

LinuxRAID常见问题

2019-10-08 16:05:19

Redis数据库系统

2011-03-30 12:55:51

EclipseADTAndroid

2010-03-30 16:04:34

Linux Nginx

2010-09-27 13:14:42

JVM内存限制

2011-05-03 17:22:59

激光打印机

2010-01-13 21:06:37

双绞线

2014-01-07 13:54:02

HadoopYARN

2011-09-01 14:04:41

光纤光纤熔接机

2011-08-22 14:10:51

nagios

2011-04-27 16:04:12

投影机

2010-10-08 13:09:38

JavaScript数
点赞
收藏

51CTO技术栈公众号