【问题标题】:How to print an HTML tag in a JTextPane with html content type in Java如何在 Java 中使用 html 内容类型在 JTextPane 中打印 HTML 标记
【发布时间】:2016-09-30 11:43:17
【问题描述】:

我正在使用 Java 创建一个 XML 编辑器,并且我正在使用 JTextPanes 来显示 XML 的内容. JTextPanes 的内容类型是 "text/html" 所以它跳过了我想要出现的所有 XML 标记窗格。 这是 JTextPane 类的大部分内容:

public class Label extends JTextPane {
    private static final long serialVersionUID = 6151945111760925061L;

    public Label(String text) {
        setContentType("text/html");
        setText(StringOperations.toHtml(text));
        setEditable(false);
        setBackground(null);
        setBorder(null);
        setFont(new Font("Eras Bold ITC", Font.PLAIN, 11));
    }

}

这是将纯文本转换为html的方法。

public static String toHtml(String text) {
    return ("<html>" + text + "</html>");
}

例如,当我插入时: "&lt;resource&gt;4&lt;/resource&gt;"

输出是"4"

我想要的是输出 "&lt;resource&gt;4&lt;/resource&gt;"

我试过了:

return ("<html>" + text.replace("<","/<") + "</html>");
return ("<html>" + text.replace("<","\"<\"") + "</html>");

但标签仍然不可读。

您能告诉我如何逃脱 '&lt;''&gt;' 字符吗?

【问题讨论】:

标签: java html xml tags jtextpane


【解决方案1】:

需要创建自定义EditorKit并将其设置为JTextPane,

例如:

https://www.boplicity.nl/knowledgebase/Java/Xml+syntax+highlighting+in+Swing+JTextPane.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-25
    • 2016-10-11
    相关资源
    最近更新 更多