<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 38, comments - 2, trackbacks - 0, articles - 0
      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理
    Code
     
    01.//Copyright © 2009. Http://L4cd.Net All Rights Reserved.
    02.package net.L4cd.display
    03.{
    04.    import flash.events.Event;
    05.    import flash.events.TextEvent;
    06.    import flash.text.TextField;
    07.    import flash.utils.ByteArray;
    08.  
    09.    /**
    10.     * 擴(kuò)展TextField類,中文以2字符長度計(jì)算
    11.     *
    12.     * @author L4cd.Net
    13.     * @playerversion Flash player 9
    14.     * @langversion 3.0
    15.     * @version 2009-06-16
    16.     */
    17.    public class TextFieldExt extends TextField
    18.    {
    19.        private var _maxChars:int = -1;
    20.        public function TextFieldExt()
    21.        {
    22.            super();
    23.              
    24.        }
    25.        override public function get maxChars():int
    26.        {
    27.            return _maxChars;
    28.        }
    29.        override public function set maxChars(value:int):void
    30.        {
    31.            _maxChars = value;
    32.            if(maxChars<0)
    33.            {
    34.                removeEventListener(TextEvent.TEXT_INPUT,input);      
    35.            }else
    36.            {
    37.                addEventListener(TextEvent.TEXT_INPUT,input);
    38.                text = getTextByCharLength(text,maxChars);
    39.            }
    40.        }
    41.        override public function get length():int
    42.        {
    43.            return getCharLength(text);
    44.        }
    45.        private function input(e:TextEvent):void
    46.        {
    47.            //攔截并阻止textinput事件,手動(dòng)處理內(nèi)容輸入
    48.            var textField:TextField = e.currentTarget as TextField;
    49.            var temp:String = getTextByCharLength(e.text,maxChars - getCharLength(text) + getCharLength(selectedText));
    50.            var index:int = selectionBeginIndex;
    51.            replaceText(selectionBeginIndex,selectionEndIndex,temp);
    52.            setSelection(index+temp.length,index+temp.length);
    53.            dispatchEvent(new Event(Event.CHANGE,true));
    54.            e.preventDefault();
    55.        }
    56.        /**
    57.         * 獲取字符長度,一個(gè)中文算2長度
    58.         * @param txt
    59.         * @return 返回長度值
    60.         */    
    61.        private function getCharLength(txt:String):int
    62.        {
    63.            var byte:ByteArray = new ByteArray();
    64.            byte.writeMultiByte(txt,"gb2312");
    65.            byte.position = 0;
    66.            return byte.bytesAvailable;
    67.        }
    68.        /**
    69.         * 截取指定長度的文本內(nèi)容,一個(gè)中文算2長度
    70.         * @param txt 需要截取的文本
    71.         * @param length 需要截取的長度
    72.         * @return 截取后的內(nèi)容
    73.         */    
    74.        private function getTextByCharLength(txt:String,length:int):String
    75.        {
    76.            if(length<1)return "";
    77.            var byte:ByteArray = new ByteArray();
    78.            byte.writeMultiByte(txt,"gb2312");
    79.            byte.position = 0;
    80.            return byte.readMultiByte(Math.min(length,byte.bytesAvailable),"gb2312");
    81.        }
    82.    }
    83.}




    調(diào)用方法和普通TextField無異
    1.import net.L4cd.display.TextFieldExt
    2.var ext:TextFieldExt = new TextFieldExt();
    3.ext.maxChars = 15;
    4.addChild(ext);





    一般的輸入,粘貼等操作均沒問題..
    直接對text進(jìn)行賦值沒有進(jìn)行限制 (原來的TextField也沒限制)..
    如需限制~可以調(diào)用一次maxChars = maxChars即可..

    只有注冊用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 成年轻人网站色免费看| 成人妇女免费播放久久久| 国产h肉在线视频免费观看| 国产AV无码专区亚洲AV手机麻豆| 亚洲AV永久无码精品一福利| 在线精品一卡乱码免费| 亚洲日韩国产精品无码av| 99爱视频99爱在线观看免费| 久久精品国产亚洲AV麻豆不卡| 国产一精品一AV一免费| 久久精品国产精品亚洲精品| 97在线免费观看视频| 久久精品国产亚洲综合色| 一个人免费视频在线观看www| 国产亚洲精品a在线观看app| 男女一进一出抽搐免费视频 | 成人一a毛片免费视频| ASS亚洲熟妇毛茸茸PICS| 欧美最猛性xxxxx免费| 亚洲狠狠成人综合网| 国产美女精品视频免费观看| 色费女人18女人毛片免费视频| 亚洲 小说区 图片区 都市| 一本一道dvd在线观看免费视频| 亚洲综合色成在线播放| 99精品全国免费观看视频..| 久久亚洲国产成人精品性色| 免费一本色道久久一区| 色婷婷六月亚洲综合香蕉| 亚洲中文字幕视频国产| 久久福利青草精品资源站免费| 亚洲国产精品美女| mm1313亚洲国产精品美女| 叮咚影视在线观看免费完整版| 亚洲综合亚洲国产尤物| 免费观看a级毛片| 免费无码又爽又刺激一高潮| 亚洲人成网站在线观看播放动漫| 国产午夜免费秋霞影院| 国产成人免费ā片在线观看老同学 | 99久久精品日本一区二区免费|