2009-10-27 75 views
0

我正在研究此程序中的一個錯誤,它應該能夠將JTextPane的內容保存爲格式化的HTML文件。當前的代碼保存了一個只包含標籤但沒有內容的文件。該頁面顯示爲空白,但所有正確<p><font>標籤是沒有用正確的顏色設置等將JTextPane的內容輸出到HTML文件

HTMLDocument htmlDoc = (HTMLDocument) output.getDocument(); 
FileWriter fw = new FileWriter(logFile); 
HTMLWriter htmlWriter = new HTMLWriter(fw, htmlDoc); 
htmlWriter.write(); 
fw.flush(); 
fw.close(); 

這是代碼,因爲它是目前。輸出是JTextPane對象。從getDocument()返回的Document對象直接被轉換成HTMLDocument對象似乎不太合適。

有誰知道什麼會使這項工作?

回答

2

JTextPane構造函數以StyledDocument作爲參數。
我懷疑output必須通過將HTMLDocument(實現StyledDocument)傳遞給它的構造函數來創建。

所以只要你知道,output與一個HTMLDocument創建的,或已呼叫output.setDocument(new HTMLDocument())什麼的,它是安全的做投地!

+0

我發現getDocument()返回一個HTMLDocument對象,所以很好,但它仍然不寫內容。創建JTextPane儘管setContentType(「text/html」)被調用,但沒有參數被傳遞給構造函數。 – 2009-10-27 10:13:46

+0

setContentType(「text/html」)將最終調用setDocument()。就工作而言,對我而言,它工作得很好。 – 2009-10-27 10:50:06

+0

請問您是否可以發佈您的代碼,因爲我看不到我做錯了什麼。 – 2009-10-27 12:26:24