2009-12-05 73 views
2

我的模型是与枚举类型关联的字符串队列。Java Swing JEditorPane:操作样式化文档

我试图在JEditorPane中显示该模型,队列中的每个元素都作为一个单独的HTML段落,具有基于关联的枚举类型的属性。

但是,我的更新方法没有做我想做的。我尝试将HTML字符串直接写入文档(例如,我接受字符串,前加<p style="color:red">并追加</p>,然后将它们插入到文档的末尾),但是这给了我输出中的html标记(而不是格式化) - 当然这与将标记放在我使用JEditorPane(“text/html”,String foo)构造文档的字符串上的结果不一致。我也试过用AttributeSet插入,但显然我也是这样做的。

有什么建议吗?

回答

1

我从来没有在JEditorPane中玩过多少HTML。我只是在JTextPane中使用属性。例如:

SimpleAttributSet keyWord = new SimpleAttributeSet(); 
StyleConstants.setForeground(keyWord, Color.RED); 
StyleConstants.setBackground(keyWord, Color.YELLOW); 
StyleConstants.setBold(keyWord, true); 

try 
{ 
    doc.insertString(doc.getLength(), "\nSome more text", keyWord); 
} 
catch(Exception e) {} 
+0

这很好,谢谢;我仍然希望最终支持HTML格式,但目前这不是必要的,我认为我已经将这些问题分开了,以至于稍后会进行简单替换。 – Carl 2009-12-06 19:46:18

+0

此链接显示我尽力使用HTMLEditorKit。也许你可以比我更好地理解它:http://forums.sun.com/thread.jspa?forumID=57&threadID=707909 – camickr 2009-12-06 21:39:09