Я пытаюсь выделить когда-либо появление слова, соответствующего поисковому запросу. Но всегда выделяется только первое событие. Возможно ли, что метод SelectRange() может выделять только одно слово за раз? Если да, есть ли другой способ?Как выделить каждое происхождение слова в TextArea?
findButton.addEventHandler(MouseEvent.MOUSE_CLICKED, new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent e) {
errorText.setText("");
textArea.deselect();
Matcher matcher;
Pattern findWord;
if (textField.getText() != null && !textField.getText().isEmpty() && upperLowerCaseMenuItem.isSelected()) {
findWord = Pattern.compile(textField.getText());
matcher = findWord.matcher(textArea.getText());
while (matcher.find()) {
textArea.selectRange(matcher.start(), matcher.end());
}
}else {
errorText.setText("Missing search key");
}
}
});