嗨,我有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)使用JTextPane.inserComponent或JTextPane.insertIcon插入图像。
2)使用StyledEditorKit追加样式文本。请记住,您还可以使用HTMLDocument和HTMLEditorKit处理html内容。