Показать 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".