2011-02-02 5 views
0

JTextPane(textpane)のエディタキットとして使用されているStyledEditorKitのユーザビリティを評価していました。ユーザーがエディタに任意のコンテンツとは、エディタを閉じると、プログラムは、ドキュメントを(textpane.getDocument())を取得し、対象文書(StyledEditorKit - Document - NotSerializableException

out = new ObjectOutputStream(new FileOutputStream("f://test1234.ser")); 
out.writeObject(doc);) 

)をシリアライズしてみてください。

しかし、この瞬間にNotSerializableExceptionが発生します。ただし、ユーザーがテキストを入力しない場合(Documentオブジェクトはエディタによって変更されていません)、アプリケーションは問題なくDocumentオブジェクトを直列化できます。この動作は、Java 5および6を使用して発生しますが、1.4は使用しません。

アイデア?

ありがとうございました。フェリポ。

答えて

1

実際には、WriterまたはOutputStreamを渡すキットのwrite()メソッドの1つを使用する必要があります。ドキュメントを復元する必要がある場合は、空のドキュメントを作成し、InputStreamまたはWriterを渡すread()メソッドを使用します。 など。 HTMLEditorKitは、コンテンツのHTML表現を生成します。 RTFEditorKitはそれに応じてrtfを生成します。 あなた自身のライター/リーダーを書くことができます http://java-sl.com/editor_kit_tutorial_reader_writer.html