如何将JTextPane
上标文本保存为RTF?将JTextPane上标文本保存为RTF
我想创建写字板就像文本编辑器。我用RTFEditorKit
。我可以使用下面的代码添加上标。 (例如:X到电源2)
public void setSuperscript() {
EditorKit editorKit = this.getEditorKit();
MutableAttributeSet att = ((StyledEditorKit) editorKit).getInputAttributes();
StyleConstants.setSuperscript(att, !StyleConstants.isSuperscript(att));
super.setCharacterAttributes(att, false);
}
然后我保存下面的文档。
public void save(String fileName) {
BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(fileName));
try {
StyledDocument doc = this.getStyledDocument();
OutputStream outputStream = new FileOutputStream(fileName);
this.getEditorKit().write(out, doc, 0, doc.getLength());
} catch (Exception e) {
e.printStackTrace();
} finally {
out.close();
}
}
它已成功保存。但是,当我用写字板或Microsoft Word上标记格式打开它缺失。
使用AdvancedEditorKit我得到了这个工作。
JTextPane pane = new JTextPane();
AdvancedRTFDocument document = new AdvancedRTFDocument();
AdvancedRTFEditorKit editor = new AdvancedRTFEditorKit();
editor.write("test.rtf", document);
为了更快提供更好的帮助,请发布[SSCCE](http://sscce.org/)。 –
谢谢安德烈。我会记住 – manjula121