在JEditorPane中显示HTML文件

4
我正在开发一个Swing应用程序,需要展示HTML文件。
我使用JEditorPane控件来实现。它可以显示HTML文件的内容,但是格式与原始的HTML文件不同。 JEditorPane不支持object元素。它只会显示?而不是加载对象文件。
除了JEditorPane之外,Swing中是否有其他内置控件可以浏览HTML文件?
我使用以下代码:
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个回答

4
你在核心Java中实现更高级HTML渲染的最佳选择是使用基于JavaFX的WebView组件,如在JavaFX应用程序中添加HTML内容所述。它支持HTML5,但我没有实际测试过它的HTML渲染效果如何。
请注意,Java FX实际上是Swing的替代品,但据我所知,Java FX组件可以嵌入Swing GUI中。

1
这里展示了一个使用JFXPanel的例子:链接 - trashgod

2

2
+1,但是我在将一个applet元素塞进JEditorPane中遇到了很多麻烦,再加上它对细微样式的HTML处理方式,我觉得真的没有什么办法可以将其变成一个严肃的浏览器组件。:( - Andrew Thompson
将HTML内容添加到JavaFX中>您可以从这里开始:将HTML内容添加到JavaFX,由于API自2014年以来已经得到了改进,因此可能会出现问题。基础知识几乎总是保持专注。不是吗?!! - will
@will:这里展示了一个使用JFXPanel的示例(https://dev59.com/r43da4cB1Zd3GeqPx0zM#31576647)。 - trashgod

-1

要从本地文件渲染HTML内容,本地文件的扩展名必须为“.html”。JEditor Pane将呈现“content.html”,但不会呈现“content.txt”。


HTML/XML 是一种字节流或 MIME 类型,无需魔术文件类型。 - will

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接