2011-02-02 28 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。

任何想法?

謝謝。 Felipo。

回答

1

實際上,您必須使用工具包的write()方法之一傳遞Writer或OutputStream。當您需要恢復文檔時,您將創建一個空文檔並使用傳遞InputStream或Writer的read()方法。 例如HTMLEditorKit生成內容的html表示。 RTFEditorKit會相應地生成rtf。 你可以寫你自己的作家/讀者看例如 http://java-sl.com/editor_kit_tutorial_reader_writer.html

相關問題