【发布时间】:2016-11-04 08:50:33
【问题描述】:
我尝试突出显示与搜索词匹配的单词。但总是只有第一次出现突出显示。 SelectRange() 方法是否可能一次只能突出显示一个单词?如果是的话,有什么不同的方法吗?
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");
}
}
});
【问题讨论】: