如何将JTextPane
上标文本保存为RTF?
我正在尝试像文本编辑器一样创建WordPad。我用了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);
答案 0 :(得分:0)
您可以使用替代RTFEditorKit
http://java-sl.com/advanced_rtf_editor_kit.html
默认功能有限,因此不支持许多RTF格式化功能。