看着你的问题,好像你想在你的JTextPane中使用多种颜色。 您只需将此方法放入您的代码中并根据需要提供参数。
public void appendToPane(String yourText, Color colour)
{
StyleContext sc = StyleContext.getDefaultStyleContext();
AttributeSet aset = sc.addAttribute(SimpleAttributeSet.EMPTY, StyleConstants.Foreground, colour);
aset = sc.addAttribute(aset, StyleConstants.FontFamily, "Lucida Console");
int len = tPane.getDocument().getLength();
tPane.setCaretPosition(len);
tPane.setCharacterAttributes(aset, false);
tPane.replaceSelection(yourText);
}
上述方法使用以下进口:
- 进口javax.swing.text.AttributeSet;
- import javax.swing.text.SimpleAttributeSet;
- import javax.swing.text.StyleConstants;
- import javax.swing.text.StyleContext;
- import javax.swing.JTextPane;
而tPane是JTextPane的对象。就像如果你想让你的名字显示为蓝色一样,请将方法称为appendToPane(“Your Name”,Color.BLUE);现在如果你想让其他文本显示为红色,再次调用方法appendToPane(“New Text”,Color.RED);希望这可以解决你所要求的查询。
Regards
Thanks!小错字:STyleConstants应该是StyleConstants – adhg 2013-05-28 16:25:43