Java - 另存为 RTF 不支持文本对齐?

标签 java swing rtf

当我将样式化的 JTextPane 保存为 RTF,然后重新打开它时,不会保留文本对齐方式。以下是我的方法:

private void saveAsRTF(File outfile) {
RTFEditorKit rtfkit = new RTFEditorKit();
StyledDocument doc = (StyledDocument) pane.getDocument();
try {
    FileOutputStream fwi = new FileOutputStream(outfile);
    rtfkit.write(fwi, doc, 0, doc.getEndPosition().getOffset());
    fwi.close();
} catch (IOException ioe) {
    ioe.printStackTrace();
} catch (BadLocationException ble) {
    ble.printStackTrace();
}
}

和(打开 RTF)

 RTFEditorKit rtf = new RTFEditorKit();
  FileInputStream fi = new FileInputStream(j.getSelectedFile());
  rtf.read(fi, pane.getStyledDocument(), 0);

最后,首先对齐文本:

 SimpleAttributeSet attribs = new SimpleAttributeSet();  
StyleConstants.setAlignment(attribs , StyleConstants.ALIGN_CENTER);  
pane.setParagraphAttributes(attribs,true);

最佳答案

默认的 RTFEditorKit 确实很有限。尝试与 http://java-sl.com/advanced_rtf_editor_kit.html 相同

关于Java - 另存为 RTF 不支持文本对齐?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11423293/

相关文章:

java - 如何同步java事件中更新的值

java - 在 JTextPane 内显示本地镜像(BufferedImage?)

c# - Richtextbox.Document 属性未定义

java - 如何在java中创建多行正则表达式-越界异常

java - 从 rss feed 中提取图像

java - BluetoothSocket.getInputStream() 在 Activity 发生变化时导致 NullPointerException

java - Map 上的集合操作

java - 在 Java 应用程序中使用 NTLM 身份验证

java - Swing 如何处理对同一组件的连续更改?

asp.net - 将含有特殊字符的字符串插入RTF