如何將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