java字符串指定高亮显示
时间: 2023-11-04 16:05:47 浏览: 40
在Java中,要实现字符串的指定高亮显示,可以使用 `javax.swing.text.DefaultHighlighter` 类。该类提供了一组用于高亮显示文本的方法,包括通过指定起始位置和结束位置来高亮显示文本。
示例代码如下:
```java
import javax.swing.text.DefaultHighlighter;
import javax.swing.text.Highlighter;
import javax.swing.text.Highlighter.HighlightPainter;
import java.awt.Color;
public class HighlightString {
public static void main(String[] args) {
String text = "这是需要高亮显示的文本。";
String highlightText = "高亮";
// 创建高亮显示器
Highlighter highlighter = new DefaultHighlighter();
// 创建高亮显示画笔
HighlightPainter painter = new DefaultHighlighter.DefaultHighlightPainter(Color.YELLOW);
// 在文本中查找需要高亮显示的字符串
int index = text.indexOf(highlightText);
while (index >= 0) {
try {
// 高亮显示找到的字符串
highlighter.addHighlight(index, index + highlightText.length(), painter);
} catch (Exception e) {
e.printStackTrace();
}
// 继续查找
index = text.indexOf(highlightText, index + 1);
}
// 输出高亮显示后的文本
System.out.println("高亮显示后的文本:");
System.out.println(text);
}
}
```
在上面的示例中,我们首先创建了一个文本字符串 `text` 和一个需要高亮显示的字符串 `highlightText`。然后,我们创建了一个 `DefaultHighlighter` 对象作为高亮显示器,以及一个 `DefaultHighlightPainter` 对象作为高亮显示画笔。
接下来,我们使用 `indexOf()` 方法在文本中查找需要高亮显示的字符串,并使用 `addHighlight()` 方法将其高亮显示。由于 `addHighlight()` 方法可能会抛出异常,因此我们使用了一个 try-catch 块来捕获异常并处理。
最后,我们输出高亮显示后的文本。可以看到,匹配的字符串已经被以黄色背景的形式高亮显示出来。