【问题标题】:Show HTML file in JEditorPane在 JEditorPane 中显示 HTML 文件
【发布时间】:2012-10-26 08:21:59
【问题描述】:

我正在开发一个 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);

【问题讨论】:

    标签: java html swing awt jeditorpane


    【解决方案1】:

    对HTML in Swing Components 的支持是limited 到3.2,早于<object> 标签。您可以将HyperlinkListener 与Desktop#browse() 结合使用,如图所示here。另请参阅example。

    【讨论】:

    • +1,但是由于我将一个小程序元素硬塞到JEditorPane 中以及它通常对微妙样式的 HTML 所做的事情,我觉得真的没有什么可以做的使其成为一个严肃的浏览器组件。 :(
    • > 将 HTML 内容添加到 JavaFX>您可以从这里开始:Adding HTML Content to JavaFX,由于 API 自 2014 年 以来已改进,因此会出现问题.基础几乎总是保持专注。不是吗?!!
    • @will:使用JFXPanel 的示例显示为here。
    【解决方案2】:

    在核心 Java 中更高级的 HTML 呈现的最佳选择是使用基于 JavaFX 的 WebView 组件,如 Adding HTML Content to JavaFX Applications 中所述。它支持 HTML5,但我并没有真正玩过它,所以我不能说它渲染 HTML 的效果如何。

    请注意,Java FX 是 Swing 的有效替代品,但 AFAIU Java FX 组件可以嵌入到 Swing GUI 中。

    【讨论】:

    • 使用JFXPanel 的示例显示为here。
    【解决方案3】:

    要从本地文件呈现 html 内容,本地文件的扩展名必须是“.html”。 JEdi​​tor 窗格将呈现“content.html”,但不会呈现“content.txt”。

    【讨论】:

    • HTML / XML 是字节流或 MIME 类型。不需要魔法文件类型/
    猜你喜欢
    • 2012-05-09
    • 1970-01-01
    • 2012-11-26
    • 2013-11-04
    • 2010-10-08
    • 1970-01-01
    • 2013-02-09
    • 2012-10-24
    • 1970-01-01
    相关资源
    最近更新 更多