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");
}
}
});