Показать HTML-файл в JEditorPane

Я работаю над приложением Swing, в котором мне нужно показывать HTML-файлы.

я использую JEditorPane контролировать это. Он показывает содержимое файла HTML, но не в том формате, в котором он изначально находился в реальном файле HTML.

JEditorPane не поддерживает object элемент. Вместо того, чтобы загружать объектный файл, он просто показывает ?,

Есть ли какой-либо другой встроенный элемент управления в Swing для просмотра HTML-файла, а не JEditorPane?

Я использую следующий код:

JEditorPane HtmlPane= new JEditorPane();
File file1= new File("path of the file");
HtmlPane.setContentType("text/html");
HtmlPane.setEditable(false);
HtmlPane.setPage(file1.toURI().toURL());
JScrollPane jsp=new JScrollPane(HtmlPane);

3 ответа

Решение

Лучше всего для более продвинутого рендеринга HTML в ядре Java является использование JavaFX WebView компонент, как описано в разделе Добавление содержимого HTML в приложения JavaFX. Он поддерживает HTML5, но я на самом деле не играл с ним, поэтому я не могу сказать, насколько хорошо он отображает HTML.

Обратите внимание, что Java FX фактически является альтернативой Swing, но компоненты AFAIU Java FX могут быть встроены в графический интерфейс Swing.

Поддержка HTML в компонентах Swing ограничена 3.2, предшествующей <object> тег. Вы могли бы использовать HyperlinkListener, показанный здесь, в сочетании с Desktop#browse(), Смотрите также этот пример.

Для рендеринга содержимого html из локального файла расширение локального файла должно быть ".html". Панель JEditor будет отображать "content.html", но не будет отображать "content.txt".

Другие вопросы по тегам