我在TextArea和HighLight中编写了一个用于查找特定单词的代码。但是,它搜索并突出显示从插入符号位置到TextArea结尾的单词。但是,我想从插入符号位置搜索到单词的结尾。 TextArea然后从Textarea开始到结束然后开始结束(循环方式)。我在这里粘贴了我的搜索方法。请检查它。谢谢。
我的搜索字方法:
public void highLight(JTextArea component,String patteren){
try {
Document doc=component.getDocument();
String text=component.getText(0,doc.getLength());
int pos=component.getCaretPosition();
int index=text.toLowerCase().indexOf(patteren.toLowerCase(),pos);
if (index>=0) {
component.setSelectionStart(index);
component.setSelectionEnd(index+patteren.length());
component.getCaret().setSelectionVisible(true);
}
}
catch(Exception e){
}
}
答案 0 :(得分:1)
int index=text.toLowerCase().indexOf(patteren.toLowerCase(),pos);
if (index>=0) {
component.setSelectionStart(index);
component.setSelectionEnd(index+patteren.length());
component.getCaret().setSelectionVisible(true);
}
else {
index=text.substring(0,pos).toLowerCase().indexOf(patteren.toLowerCase());
if (index>=0) {
component.setSelectionStart(index);
component.setSelectionEnd(index+patteren.length());
component.getCaret().setSelectionVisible(true);
}
}
如果找不到任何内容,请使用文本的前一部分