我有16个字符对(例如§c,每个代码以§开头,后跟0-9或a-f)代表java.awt.Color。这是两个例子:
我需要一种方法将String的颜色设置为这些颜色的任意组合。
Example: §aThis text is green, but §6this text is gold.
Formatted: <green>This text is green, but <gold>this text is gold
请注意&lt;&gt;标签只是示例,我需要使用以下方法在JTextPane中实际设置颜色:
public void append(Color c, String s)
{
try
{
SimpleAttributeSet sas = new SimpleAttributeSet();
StyleConstants.setForeground(sas, c);
this.getDocument().insertString(getDocument().getLength(), s, sas);
}
catch (BadLocationException ex) { ex.printStackTrace();}
}
到目前为止,我的方法还没有奏效。我已经看过几个接近的问题,但没有一个与改变文本有关,取决于'颜色代码'。
Tl; dr - 我需要一种方法,使用颜色代码以编程方式将格式化文本插入JTextPane。