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



嗨,我有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.inlineserIcon插入图像。

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

最新更新