2012-04-19 4 views
0

spark 구성 요소 TextArea에서 일부 단어 색상을 어떻게 동적으로 변경할 수 있습니까? 예를 들어, 나는 "게으른 개 위에 빠른 갈색 여우가 뛰는"텍스트를 원합니다. 단어 "개"는 붉은 색이고 단어 "여우"는 녹색입니다. 모든 변경 기능 해봐요에 동적으로 텍스트 흐름 변경 spark flex

<s:TextArea textFlow="{scriptTextAreaTextFlow}" change="{doSomething(event)}" text ="A quick brown fox jumps over the lazy dog." id="tarea1"/> 

그녀는 단어 "개"와 단어 "여우"의 모든 위치의 모든 위치를 발견이라고합니다. 내가해야 할 일은 그 단어의 색을 동적으로 바꾸는 것뿐입니다. mx에서는 TextRange를 사용하는 것이 쉽습니다.

tr = new TextRange(tarea1, false, start, end); 
tr.color = "#00FF00" 

자, 스파크에서 나는 단어 개와 여우는 색 않도록 "resoult는"생성 된 HTML 코드는 텍스트 영역에서 텍스트 기반입니다 TextFlow를

scriptTextAreaTextFlow = TextFlowUtil.importFromString(resoult); 

와 색상 수있는 방법을 발견했다. 문제점은 검사 (착색하는) 라이브 (onChange가)를 수행하고 각

scriptTextAreaTextFlow = TextFlowUtil.importFromString(resoult); 

앵커 텍스트 영역을 이동 한 후 (기동)의 위치를 ​​0 점이다. 이 문제를 해결할 수있는 유일한 방법은 편집 전에 앵커 위치를 기억하고 채색 후 설정하는 것이지만 더 나은 솔루션을 찾고 있습니다.

도와주세요 ...

감사

+0

는 VAR의 txtLayFmt 그것을 해결 : TextLayoutFormat = tarea2.getFormatOfRange (NULL, 16); txtLayFmt.color = "# 00FF00"; tarea2.setFormatOfRange (txtLayFmt, 14, 16); tarea2.setFocus(); } –

+0

당신의 문제를 대신 해결 한 경우 답변으로 게시하고 문제가 해결되면 받아주십시오 .. –

+0

그 사실을 알지 못했습니다 ... –

답변

0

또 다른 방법은 트랩에 onchange를 수하고 '글꼴 색상 ='지정을 포함하는 키워드 주위의 htmlText을 변경하는 정규 표현식을 사용합니다.

관련 문제