Spec-Zone.ru › OpenJavaFX 24

Интерфейс SyntaxDecorator

public interface SyntaxDecorator
Декорирует обычный текст, создавая RichParagraph.
Since:
24

Краткое описание методов

Модификатор и тип Метод Описание
RichParagraph createRichParagraph(CodeTextModel model, int index)
Создаёт RichParagraph с синтаксической разметкой для данного индекса абзаца.
void handleChange(CodeTextModel m, TextPos start, TextPos end, int charsTop, int linesAdded, int charsBottom)
Получает обновления от модели, прежде чем будут уведомлены слушатели модели StyledTextModel.Listener.

Подробное описание методов

createRichParagraph

RichParagraph createRichParagraph(CodeTextModel model, int index)
Создаёт RichParagraph с синтаксической разметкой для данного индекса абзаца.

В простых случаях, когда разметка может быть сгенерирована с помощью текста абзаца, её можно получить, вызвав BasicTextModel.getPlainText(int). Эта строка гарантированно не содержит управляющих символов, кроме TAB.

В качестве альтернативы, синтаксический декоратор может кэшировать синтаксическую информацию, или создавать Marker в критических точках модели, или даже выполнять обработку в фоновом режиме (при условии, что модель поддерживает одновременный доступ), завершая обновлением в потоке FX приложения, вызывая метод StyledTextModel.fireChangeEvent(TextPos, TextPos, int, int, int).

Parameters:
model - модель
index - индекс абзаца
Returns:
объект RichParagraph с разметкой

handleChange

void handleChange(CodeTextModel m, TextPos start, TextPos end, int charsTop, int linesAdded, int charsBottom)
Получает обновления от модели, прежде чем будут уведомлены слушатели модели StyledTextModel.Listener.

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

Parameters:
m - модель
start - начало затронутого диапазона
end - конец затронутого диапазона
charsTop - количество добавленных символов перед добавлением абзацев
linesAdded - количество добавленных абзацев
charsBottom - количество добавленных символов после вставленных абзацев

Отправить отчет об ошибке или предложить улучшение
Авторское право © 2008, 2025, Oracle и/или его аффилированные лица. Все права защищены.

© 2008, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from JavaFX API Documentation.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Java, JavaFX and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API