我想查找文本区域中出现的单词,因此每次按下按钮
时,它都会搜索下一个出现的指定单词,就像 Ctrl+F 一样。有谁知道我该怎么做?
这是只查找给定单词第一次出现的代码。
@Override
public void actionPerformed(ActionEvent arg0) {
if (button == arg0.getSource()) {
int index = textArea.getText().indexOf(find.getText());
int len = find.getText().length();
Highlighter.HighlightPainter highlight = new DefaultHighlighter.DefaultHighlightPainter(Color.BLACK);
try {
textArea.getHighlighter().addHighlight(index, index + len, highlight);
}
catch (BadLocationException e) {
e.printStackTrace();
}
}
}
textArea
是我有单词的文本区域,find
是我在 textArea
中搜索特定单词的文本字段。
最佳答案
将先前出现的索引保存为字段,并使用两个参数的indexOf方法,该方法将String和startIndex作为参数。
预计到达时间:public int indexOf(String str, int fromIndex)
关于Java Swing,遍历文本区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40639375/