如何在Java中使用html内容类型在JTextPane中打印HTML标记

时间:2016-09-30 11:43:18

标签: java html xml tags jtextpane

我正在使用Java创建 XML 编辑器,我使用 JTextPanes 来显示 {{1 }} 即可。 XML 的内容类型为 JTextPanes ,因此它会跳过所有 "text/html" 标记我想要出现在窗格中。 以下是 XML 类的大部分内容:

JTextPane

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

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));
    }

}

例如,当我插入时:  的 public static String toHtml(String text) { return ("<html>" + text + "</html>"); }

输出 "<resource>4</resource>"

我想要的是输出 的 "4"

我尝试过:

"<resource>4</resource>"

但标签仍然不可读。

您能否告诉我如何逃避 return ("<html>" + text.replace("<","/<") + "</html>"); return ("<html>" + text.replace("<","\"<\"") + "</html>"); '<' 字符?

1 个答案:

答案 0 :(得分:1)

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

例如:

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