【发布时间】:2016-11-16 18:16:13
【问题描述】:
我想在文本区域中查找单词出现,所以每次我按下button 它都会搜索指定单词的下一个出现,就像 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 中搜索特定单词的文本字段。
【问题讨论】:
-
如文档中所述,您可以从索引开始查找。所以你需要一种方法来确定你搜索的最后一个索引是什么,并添加一个docs.oracle.com/javase/7/docs/api/java/lang/…
-
@Michael Pickett 好的,我现在试试