Flex: 自适应大小TextArea, Resizable TextArea

http://www.flexer.info/2009/02/06/auto-resizable-text-area-component/

Flex: 输入组件 – TextInput, ComboBox, Radiobutton, TextArea等 对其输入内容进行验证

如: 某编辑器:

代码:

textName.addEventListener(Event.CHANGE, onTextNameChange);//增加监听函数,监听EventChange, 如果不需实时验证, 可监听FlexEvent.VALUE_COMMIT事件.
//——————Validation – Name – on Event.Change————
private function onTextNameChange(e:Event = null):void {
if(StringUtils.trim(textName.text).length < 2) {
textName.errorString = "Name不能少于2个字符, 请重新输入";
}else if(StringUtils.trim(textName.text) == "String") {
textName.errorString = "Name不可为’String’";
}else {
textName.errorString = null;
}
setButton();
}

监听Flex中TextArea的DoubleClick Event

在TextArea中显示一段文字, 在双击时打开一个弹出的编辑窗口, 或者使之的Editable由false变为true. 需要先监听DoubleClick.

但作为一嫩鸟, 我总是发现他监听不了, click可以,但DoubleClick不可以.

自习看了TextArea的API,发现他有个继承自UIComponent的DoubleClick的属性,该属性默认为False,将之设置为True之后便可以触发DoubleClick事件, 进而完成整个过程.

定义监听函数

_textArea.addEventListener(MouseEvent.DOUBLE_CLICK, addDataGrid);

响应DoubleClick事件

/**
* 响应双击
*/
private function addDataGrid(e:MouseEvent):void {
_textArea.editable = true;
}

附带几个TextArea的属性:
textArea.editable = false; 是否可以编辑, 默认为True
textArea.doubleClickEnabled = true; 是否接受双击 默认为false
textArea.selectable = false; 内部文字是否可以被选定 默认为ture;