を曲げます。例えば、私はテキストで "怠け者の犬の上を素早く茶色のキツネがジャンプする"としたい。単語「犬」は赤色に、単語「狐」は緑色になります。動的に変更テキストフロースパークは、私は動的に火花コンポーネントTextArea内のいくつかの単語の色を変更する方法
<s:TextArea textFlow="{scriptTextAreaTextFlow}" change="{doSomething(event)}" text ="A quick brown fox jumps over the lazy dog." id="tarea1"/>
すべての変更機能のdoSomethingが呼び出されるで、彼女は単語「犬」のすべての位置や単語「狐」のすべてのポジションを見つけました。私がする必要があるのは、それらの単語の色を動的に変更することだけです。 mxではTextRangeでは簡単でした。
tr = new TextRange(tarea1, false, start, end);
tr.color = "#00FF00"
さて、スパークに私は言葉の犬やキツネが着色されているように、「resoultは、」生成されたHTMLコードは、TextAreaのからのテキストに基づいているのTextFlow
scriptTextAreaTextFlow = TextFlowUtil.importFromString(resoult);
でそれを着色する方法を見つけました。問題は、チェック(および着色する)ライブ(のonChange)が行われ、すべての
scriptTextAreaTextFlow = TextFlowUtil.importFromString(resoult);
のTextAreaアンカーが移動した後(開始)0配置するということです。私はこれを解決するために見つけた唯一の方法は、編集する前にアンカーの位置を覚えて、色付けした後にそれを設定することですが、私はより良い解決策を探しています。
助けてください...
おかげ
のvar txtLayFmtでそれを解決:するTextLayoutFormat = tarea2.getFormatOfRange(ヌル、 14、 16)。 txtLayFmt.color = "#00FF00"; tarea2.setFormatOfRange(txtLayFmt、 14、 16)。 tarea2.setFocus(); } –
uが私はそれを知らなかった –
..代わりに答えとして、ポストのコメントあなたの問題を解決し、それはあなたのために働く場合は受け入れた場合... –