如何在附加字符串时保留 JTextPane 中的文本样式

How to preserve style of texts in JTextPane while append strings

您好,我有 JTextPane,我想在不同的时间加载内容(带有字体信息的文本)。附加文本将始终更改字体名称或大小或粗体或斜体。当我插入新字符串(使用差异字体)时,TextPane 总是丢失先前加载文本的字体信息。如何始终为文本窗格保留字体信息?我也想插入图像!我必须为此使用 HtmlDocument 吗?欢迎任何想法或建议。提前致谢!!我的 JTextPane 代码是,

textPane.setText("\n This is sample text editor ex");
styleDoc = textPane.getStyledDocument();
SimpleAttributeSet keyWord = new SimpleAttributeSet();
// set font information for new text
StyleConstants.setFontFamily(keyWord, fontName);
StyleConstants.setFontSize(keyWord, fontSize);
try {
            styleDoc.insertString(0,
                    styleDoc.getText(0, styleDoc.getLength()), null);
            styleDoc.insertString(styleDoc.getLength(), "ample", keyWord);
        } catch (Exception e) {
            e.printStackTrace();
        }

快速回答,快速提问。

1) 使用 JTextPane.inserComponent 或 JTextPane.insertIcon 插入图片。

2) 使用 StyledEditorKit 附加样式文本。请记住,您还可以使用 HTMLDocument 和 HTMLEditorKit 来处理 html 内容。