Найти слово jtextfield в блокноте Java
Какое условие я должен поставить, чтобы он выделил все слова в JTextArea? Этот код работает без цикла while, но он только находит и выделяет совпадение первого слова.
String findstr = findTextField.getText().toUpperCase(); // User Input Word to find
int findstrLength = findstr.length();
String findtextarea = textarea.getText().toUpperCase(); // TextArea Content
Highlighter h = textarea.getHighlighter();
h.removeAllHighlights();
try
{
int index=0;
while(index>=0) // What should I put here ??
{
index = findtextarea.indexOf(findstr,index);
h.addHighlight(index,index+findstrLength, DefaultHighlighter.DefaultPainter);
}
}
1 ответ
Решение
while(index>=0) {
index = findtextarea.indexOf(findstr,index);
if (index > 0) {
h.addHighlight(index,index+findstrLength, DefaultHighlighter.DefaultPainter);
}
index++; // try adding this to allow you to look for the next index.
}