2009-12-05 39 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