Flex/TextArea:插入标签?

Nie*_*sma 2 apache-flex actionscript-3

我有一个TextArea,我想用它来代码输入(xml).如何允许输入标签(按Tab键将焦点移动到nect控制位置)?

Jam*_*ard 7

我发现这样做的唯一方法是扩展TextArea并捕获它的keyFocusChange事件,然后停止事件并插入选项卡.这是一个例子:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns="*">

  <mx:Component className="MyTextArea">
    <mx:TextArea width="300" height="300">
      <mx:keyFocusChange>
        event.preventDefault();
        this.textField.replaceSelectedText("\t");
      </mx:keyFocusChange>
    </mx:TextArea>
  </mx:Component>

  <MyTextArea width="300" height="300"/>

  <mx:TextArea width="300" height="300"/>

</mx:Application>
Run Code Online (Sandbox Code Playgroud)

您还可以将MyTextArea分解为单独的类文件.但我把它全部放在一个文件中,因为它更容易测试.