Flex組件開發(fā)總結(jié)
Flex組件開發(fā)有很多值得學(xué)習(xí)的地方,本文向大家介紹一下在平時(shí)的Flex開發(fā)過程中遇到的問題以及解決辦法總結(jié),相信通過本文的介紹你對Flex開發(fā)過程中遇到問題有一定的認(rèn)識(shí)。
Flex組件開發(fā)總結(jié)
在平時(shí)的Flex開發(fā)過程中遇到的問題以及解決辦法總結(jié)如下:
1.如何監(jiān)聽鍵盤事件?
- <mx:TextAreaidmx:TextAreaid="textEditor"keyDown="sendKeyHandler(event)"x="11"y="366"width="399"/>
- privatefunctionsendKeyHandler(evt:KeyboardEvent):void
- {
- //Enter鍵
- if(evt.keyCode==13)
- {
- this.sendTxt();
- return;
- }
- }
代碼說明:有兩種類型的鍵盤事件:KeyboardEvent.KEY_DOWN和KeyboardEvent.KEY_UP
以上是監(jiān)聽的是回車事件
要是想監(jiān)聽組合鍵,例如:Ctrl+Enter鍵,代碼如下:
- if(evt.keyCode==13&&evt.ctrlKey)
- {
- }
2.Flex開發(fā)中怎么控制RichTextEditor的控制欄?
利用showControlBar屬性,控制RichTextEditor的控制欄,這樣把整個(gè)控制欄都關(guān)閉了
要是想分別控制控制欄中各寄宿控件,可以參考如下代碼:
- this.textEditor.alignButtons.height=0;
- this.textEditor.alignButtons.visible=false;
- this.textEditor.bulletButton.height=0;
- this.textEditor.bulletButton.visible=false;
- this.textEditor.linkTextInput.height=0;
- this.textEditor.linkTextInput.visible=false;
- this.textEditor._RichTextEditor_VRule1.height=0;
- this.textEditor._RichTextEditor_VRule1.visible=false;
- this.textEditor._RichTextEditor_VRule2.height=0;
- this.textEditor._RichTextEditor_VRule2.visible=false;
當(dāng)然,還可以參考這文章
http://blog.minidx.com/2008/12/29/1841.html
3.Flex開發(fā)中控件雙擊事件(DoubleClickEvent)怎么沒反應(yīng)?
- <mx:ButtondoubleClickEnabledmx:ButtondoubleClickEnabled="true"doubleClick="doubleClickHandler(event)"x="48"y="32"label="Button"/>
- privatefunctiondoubleClickHandler(evt:MouseEvent):void
- {
- Alert.show("doubleClick");
- }
代碼說明:
doubleClickEnabled屬性:指定對象是否接收doubleClick事件。默認(rèn)值為false,這意味著在默認(rèn)情況下,不接收doubleClick事件。如果將doubleClickEnabled屬性設(shè)置為true,實(shí)例在其范圍內(nèi)接收doubleClick事件
4.Flex開發(fā)中怎么在TextArea的光標(biāo)位置插入字符?
- <mx:TextAreaidmx:TextAreaid="textEditor"x="11"y="366"width="399"/>
- privatefunctioninsertString(insertStr:String):void
- {
- if(this.textEditor.selectionBeginIndex==this.textEditor.selectionEndIndex)
- {
- varstartPart:String=this.textEditor.text.substring(0,this.textEditor.selectionBeginIndex);
- varendPart:String=this.textEditor.text.substring(this.textEditor.selectionEndIndex,this.textEditor.text.length);
- startPart+=insertStr;
- startPart+=endPart;
- this.textEditor.text=startPart;
- }
- else
- {
- this.textEditor.text=insertStr;
- }
- }
5.Flex開發(fā)中如何實(shí)現(xiàn)TextArea控件的滾動(dòng)條始終保持在最下面?
- this.txt_content.addEventListener(FlexEvent.VALUE_COMMIT,VALUE_COMMITHandler);
- privatefunctionVALUE_COMMITHandler(evt:FlexEvent):void{
- txt_contenttxt_content.verticalScrollPosition=txt_content.maxVerticalScrollPosition;
- }
代碼說明:這段代碼是為了實(shí)現(xiàn)TextArea控件的滾動(dòng)條始終保持在最下面,以方便用戶查看聊天信息
要是VBox控件需要實(shí)現(xiàn)類似效果,可以看如下代碼:
- <mx:VBoxidmx:VBoxid="vd"updateComplete="updateCompleteHandler(event)"x="10"y="10"width="399"height="348">
- privatefunctionupdateCompleteHandler(evt:FlexEvent):void
- {
- thisthis.vd.verticalScrollPosition=this.vd.maxVerticalScrollPosition;
- }
【編輯推薦】
- Flex開發(fā)者需要知道的10件事
- Flex安全沙箱問題解決方法
- 技術(shù)前沿 看Flex客戶端緩存技術(shù)如何使用
- 解析Flex全屏模式設(shè)置方法
- Flex內(nèi)存泄露解決方法和內(nèi)存釋放優(yōu)化原則