当前位置: 首页 > 知识库问答 >
问题:

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

东门清夷
2023-03-14

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

示例:

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个答案

印高阳
2023-03-14

> < li>

如果这可以从< code >文档中找到,

文档JTextComponentsModel

例如

 类似资料:
  • 我正在使用JTextPane创建一个文本编辑器,它允许用户更改所选文本的颜色。但是当用户选择文本时,然后选择更改颜色的选项(比如,改为红色),直到取消选择文本时,文本才会显示为红色。我尝试使用setSelectedTextColor来更改所选文本的颜色,但这不起作用,因为当之后选择文本时,它会将文本更改为红色。有没有一种方法可以使选定的文本显示为它的实际颜色?或者像它在Word中的工作方式那样,它

  • 我创建了一个使用JTextPane的Swing界面。使用自定义颜色突出显示JTextPane: 用户还能够以普通的方式用光标突出显示文本。 而且

  • 我有一个JTextPane,与stenledDocuent。我以编程方式插入了文本:“你好世界”。“你好”是红色的,“世界”是绿色的。有什么方法可以选择这两个单词,选择矩形变成一半红色一半绿色(或者所选字符的任何颜色)?通过选择,我的意思是,在运行时选择文本,而不是以编程方式... 我相信在这里改变选定文本的颜色在jTextPane,StanislavL告诉如何可以实现这一点,我不知道如何实现它。

  • 我想根据用户需要将我写的文本(和字体颜色)更改为另一种颜色。 我制作了一个JFrame,并添加了JTextPane。在文本窗格的右侧,我有一个不同颜色的列表(“白色”、“黑色”、“绿色”等)。Jframe还有一个JMenuBar,如果用户突出显示列表中的一个元素(比如黑色),我想更改textpane的背景色(我知道这很愚蠢,但这是老师的作业) 问题是,文本是黑色的,所以当我改变背景颜色时,文本“消

  • 本文向大家介绍请写一个获取颜色的正则相关面试题,主要包含被问及请写一个获取颜色的正则时的应答技巧和注意事项,需要的朋友参考一下 判断了 16 进制和 rgb,但感觉写的有点烦,不知道各位大佬们能不能帮忙优化一下

  • 我正在制作一个基于文本的游戏,用户输入文本来解决游戏。我决定使用JavaSwing来显示文本,我希望文本窗格的背景为黑色。我已经尝试了所有我发现的东西(注释掉了),但是没有一个看起来有效。 这里没有显示导入的图片,但是当我使用任何被注释掉的部分运行游戏时,游戏中没有错误。