2011-01-25 5 views
1

В приложении Swing я использую JTextPane с бэкэндом HTMLDocument. В какой-то момент я вставив какую-заполнителей программно в документ сПолучение текущего смещения в HTMLDocument JTextComponent

document.insertString (...)

По какой-то причине, используя

HTMLEditorKit. insertHTML()

метод не отображает текст в JTextPane.

То, что я хотел бы знать, что положение я вставив в в документе, то есть, в HTML-документ, который написан в фоновом режиме. Я могу сказать,

JTextPane.getCaretPosition()

, но это только дает мне смещение в документе видимого на веб-интерфейс, а не в результате чего один.

ответ

1

Это не имеет смысла, потому что текст html-документа документа может отличаться. Например. конец строки может быть «\ n» или «\ r \ n» в зависимости от настроек ОС и JVM. Пропускает HTML, например. двойные пробелы или пробелы между тегами. Два тега без пробелов между ними и разрыв строки между ними имеют одинаковое смещение в документе. Вы можете добавить пользовательский тег с определенным идентификатором и искать html-текст документа результата для идентификатора.

+0

Спасибо за ваш ответ! Я полагаю, вы правы. Если я не ошибаюсь, это: http://java-sl.com/custom_tag_html_kit.html - это ваш сайт, и он, похоже, полностью отражает то, что я пытаюсь сделать в качестве альтернативы. – chris

+1

Да. это мой сайт. Я рад, что вам помогла одна из статей. – StanislavL