2009-10-27 72 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