Использование JEditorPane и его метода setPage - PullRequest
4 голосов
/ 05 марта 2009

У меня есть панель редактора, которая отображает HTML-файл. Когда я прошу это сделать один раз, он отображает HTML-файл нормально. Затем я делаю изменения в своем HTML-файле и использую метод setPage, чтобы он печатал обновленный HTML-файл, но не делает этого даже при изменении HTML-файла.

Это проблема с панелью редактора или что-то не так с моим кодом?

Ответы [ 2 ]

7 голосов
/ 05 марта 2009

Глядя на JavaDoc для setPage, я вижу следующее:

Если нужный URL-адрес отображается в данный момент, документ не будет перезагружается. Для принудительной перезагрузки документа необходимо очистить описание потока свойство документа. Следующий код показывает, как это можно сделать:

Document doc = jEditorPane.getDocument();
doc.putProperty(Document.StreamDescriptionProperty, null);
0 голосов
/ 05 марта 2009

Я провел несколько тестов и воспроизвел это поведение. Когда я вызываю setPage и передаю в качестве аргумента тот же URL, который был передан ранее в том же методе, JEditorPane, похоже, игнорирует вызов.

Простое решение: проверьте, совпадает ли новый URL-адрес с предыдущим. Если да, отформатируйте URL немного по-другому. Например, добавьте% 20 в конце. Новый URL-адрес фактически ссылается на ту же страницу, но JEditorPane будет рассматривать его как новый и правильно перезагрузит его.

...