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

时间:2016-05-04 13:06:37

标签: java swing fonts jtextpane styleddocument

您好我有JTextPane,我想在不同的时间加载内容(带有字体信息的文本)。附加文本将始终以字体名称或大小或粗体或斜体更改。当我插入新字符串(使用diff字体)时,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 个答案:

答案 0 :(得分:2)

快速回答,快速提问。

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

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