java - JTextPane 替换文档中的字符串

标签 java swing jtextpane

我有内容类型为 HTML 的 JTextPane

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

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

最佳答案

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

在将字符串输入到文档之前,使用DocumentFilter对其进行翻译。

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

要重写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);
}

关于java - JTextPane 替换文档中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28173529/

相关文章:

java - 无法将临时 .csv 文件写入 Android 缓存

java - 即时屏幕捕获 Java

java - 如何在JPanel上布局这些组件?

java - JTextPane 中的布局问题

java - 保持文本检索的正确风格

java - Android 应用内结算 - 签名 JSON 中的用户 ID

java - 在 spring mvc 应用程序中引用文件系统的最佳方式

java - 有没有办法在 JDatePicker 上设置日期值

java - JTextPane 中的突出显示和粗体文本

java - 传递的字符串不被视为字符串