JTextPane 替换文档中的字符串

JTextPane replace string in document

我有 JTextPane 内容类型 HTML

JTextPane editor = new JTextPane();
editor.setContentType("text/html");

当用户输入“\”时,我要输入“\”(“\”的代码)。我该怎么做?

When user input "\" I want to be inputted "&#92" (code of "\"). How can I do it?

在输入 Document 之前使用 DocumentFilter 翻译字符串。

阅读 How to Implement a DocumentFilter 上的 Swing 教程部分,了解更多信息以帮助您入门。

要覆盖 replace(...) 方法,您可以这样做:

public void replace(final FilterBypass fb, final int offs, final int length, final String str, final AttributeSet a)
{
    if (str.equals("\"))
        super.replace(fb, ofs, length, "&#92", a);
    else
        super.replace(fb, offs, length, str, a);
}