没有 html 的 JEditorKit 颜色单个字符

JEditorKit color single chars without html

我想用颜色标记部分 jeditorpane 内容,而不使用 html 类型内容类型。有什么办法可以做到这一点,也许可以使用文档?

without using the html type content type

这意味着您有一个计划文本文件,您应该使用 JTextPane。然后你可以使用属性给文本着色。

JTextPane textPane = new JTextPane();
textPane.setText("Some text for the text pane.");
StyledDocument doc = textPane.getStyledDocument();

SimpleAttributeSet keyWord = new SimpleAttributeSet();
StyleConstants.setForeground(keyWord, Color.RED);
StyleConstants.setBackground(keyWord, Color.YELLOW);
StyleConstants.setBold(keyWord, true);

// Color existing text

doc.setCharacterAttributes(0, 5, keyWord, false);

// Add some text

try
{
    doc.insertString(doc.getLength(), "\nEnd of text", keyWord );
}
catch(Exception e) { System.out.println(e); }