Java:在JTextPane中为多种文本颜色获取正确的StartOffset

时间:2012-06-11 13:20:55

标签: java swing highlight jtextpane

我需要创建一个接受字符串输入的程序,并突出显示我的字符串列表中的某些单词。

示例:

String MyList[] = {"Dog","Cat","Lion"};

Sample Input Text: I have a Dog and a Cat and a Lion . "

如果输入文本没有任何新行或转义字符,但输入文本有新行,则不会有问题,这就是结果。

示例:

String MyList[] = {"Dog","Cat","Lion"}; 

示例输入文本:

I have a Dog 
and a Cat
and a Lion

注意:大写字母表示高亮字符

I have a DOG
and a cAT
and a liON

我突出显示的示例代码:

for(String x : MyList)
{

int startOffset = inputText.indexOf(x);
doc.setCharacterAttributes  (startOffset,x.length,myStyle,false);


}

我猜问题是换行符或转义字符,但我找不到修复它的方法。

如果输入字符串有新行/ s,我怎样才能得到正确的单词起始偏移?

任何想法?

1 个答案:

答案 0 :(得分:1)

  • AFAIK可以从Document

  • 开始 {li>

    Document Model JTextComponents

  • 适用于example