プロが教えるわが家の防犯対策術!

Javaでリッチテキスト対応のエディタを作っているのですが、うまく保存ができません。
ご存知の方がいらっしゃればご教授頂けませんでしょうか?

【つまづいているところ】
RTFEditorKitを使って、Documentを保存すると、
文字配置(中央寄せなど)が保存されたファイルに反映されない。
(太字や、フォントサイズなどはちゃんと保存される)

【ソース(部分抜粋)】
//=====定義部分=====
StyleContext sc = new StyleContext();
DefaultStyledDocument doc = new DefaultStyledDocument(sc);
JTextPane textPane = new JTextPane(doc);

//=====フォント修飾(太字)=====
SimpleAttributeSet attr = new SimpleAttributeSet();
StyleConstants.setBold(attr, true);
textPane.setCharacterAttributes(attr, false);

//=====中央寄せ=====
SimpleAttributeSet attr = new SimpleAttributeSet();
StyleConstants.setAlignment(attr, StyleConstants.ALIGN_CENTER);
textPane.setParagraphAttributes(attr, false);

//=====保存=====
FileOutputStream out = new FileOutputStream("出力パス");
new RTFEditorKit().write(out, doc, 0, doc.getLength());
out.close();

【環境】
OS:win2000
JDK:jdk1.5.0_04

【参考にしたサイト】
JavaDrive
http://www.javadrive.jp/tutorial/appli/word/inde …

【備考】
ワードパッドと、RTFEditorKitで作成されたRTFファイルを見ると、
ワードパッド:\pard\qc a\par("a"を中央寄せで表示)
RTFEditorKit:a\par
となっていたので、前半の「\pard\qc」がうまく書き出されていないのが原因。
ただ、ワードパッドで文字配置を編集したテキストは問題なく読み込める。

APIドキュメントを見ると、RTFEditorKitは未だ不完全という感じなので、
documentを解析し、RTFに書き出す部分を自作するしかないでしょうか?

A 回答 (1件)

こんなのありましたが…。


http://bugs.sun.com/bugdatabase/view_bug.do?bug_ …
    • good
    • 0
この回答へのお礼

バグデータベースは探してみたつもりだったのですが、
キーワードを「RTFEditorKit」にしてしまっていた為にID:4351455のレポートに辿り着けなかったみたいです。

RTFの保存部分はRTFGeneratorが担っているので、
こちらも検索するべきでした・・・
修行して出直します。

それにしても、「改修予定なし」ですか・・・
とりあえず、自作で進めようと思います。
どうもありがとうございました!!

お礼日時:2006/02/02 14:36

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!