События, отправленные setFormatofRange - PullRequest
0 голосов
/ 29 июля 2010

У меня есть текстовая область, в которой я хотел бы слушать изменения событий, когда я изменяю форматирование текста с помощью setFormatOfRange ().До сих пор все другие события, которые я пробовал, такие как Event.CHANGE или TextOperationEvent.CHANGE, отправляются только при изменении фактического текста.

Кто-нибудь знает, что я должен слушать?

Ответы [ 2 ]

2 голосов
/ 27 августа 2010

На самом деле вы можете получить TextOperationEvent.CHANGE при изменении форматирования, но только если вы используете EditManager. Вы должны создать объект EditManager и назначить его TextArea.textFlow.interactionManager, и все ваши операции форматирования должны выполняться через этот объект EditManager. У него есть такие методы, как applyFormat.

И я не рекомендую использовать setFormatOfRange, потому что он довольно медленный для большого количества операций форматирования. Вместо этого вы должны использовать объекты EditManager или ApplyFormatOperation. вот пост, в котором объясняется, как использовать объекты ApplyFormatOperation

1 голос
/ 29 июля 2010

TextArea (или любые другие текстовые элементы управления в этом отношении) не запускает никаких событий для изменений в форматировании текста.Даже события изменения текста запускаются только тогда, когда пользователь изменяет текст вручную, а не когда вы изменяете его программно.

Класс TextOperationEvent представляет события, которые отправляются при изменении содержимого текста из-за пользовательских операций , таких как вставка символов, возврат на одну позицию, вставка или изменение атрибутов текста,

...