0
나는 검색 용어와 일치하는 단어의 출현을 항상 강조하려고한다. 그러나 항상 첫 번째 항목 만 강조 표시됩니다. 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");
}
}
});