2012-03-16 29 views

回答

3

使用setCharacterAttributes()。使用StyleConstants.setBackground()/ setForeground()在SimpleAttributeSet中定義所需的顏色。使用元素的偏移和長度的開始和結束偏移量。

如果最後一個屬性爲false,則僅替換在SimpleAttributeSet中定義的Element的thouse屬性。

+0

它的工作!非常感謝大家; D 你太棒了,謝謝。 – TiagoM 2012-03-17 12:14:22

2

好像你要求可以在一個單一的方法來描述一下,看看:

private void appendToPane(JTextPane tp, String msg, Color c) 
{ 
    StyleContext sc = StyleContext.getDefaultStyleContext(); 
    AttributeSet aset = sc.addAttribute(SimpleAttributeSet.EMPTY, StyleConstants.Foreground, c); 

    aset = sc.addAttribute(aset, StyleConstants.FontFamily, "Lucida Console"); 
    aset = sc.addAttribute(aset, StyleConstants.Alignment, StyleConstants.ALIGN_JUSTIFIED); 

    int len = tp.getDocument().getLength(); 
    tp.setCaretPosition(len); 
    tp.setCharacterAttributes(aset, false); 
    tp.replaceSelection(msg); 
} 

只要嘗試與您String和各自Colour要提供轉達您的JTextPane的參考,到這個方法,看看魔術:-)

+0

謝謝,這是用顏色插入文本,我知道隊友。我正在看的東西是編輯已經插入文本的顏色,你看? StanislavL已經幫了我;) 謝謝 – TiagoM 2012-03-17 12:15:39

+0

@TiagoM:Ahha,好像我誤解了這個問題:(我的壞,那麼對不起。 – 2012-03-17 12:17:28

+0

諾諾不要對不起,謝謝你的努力! – TiagoM 2012-03-17 14:00:53

相關問題