Swinghacks——带搜索功能的JTextArea
先上图看效果:
搜索匹配用的是正则表达式,当然直接字符匹配也是ok的,关键不在与怎么匹配,关键是获取匹配结果的开始和结束位置
关于java正则表达式的使用,可以参考这2篇文章
java使用正则表达式http://blog.csdn.net/laizhenhai88/article/details/7293418
正则表达式基础http://blog.csdn.net/laizhenhai88/article/details/7267650
回到hacks,匹配完成后,就是设置匹配内容为选中状态,上代码:
如果会用正则的话,那你肯定知道matcher是什么,不解释了
private void continueSearch() { if(matcher != null) { if(matcher.find()) { //获取匹配字符的start,并设置光标 content.getCaret().setDot(matcher.start()); //获取匹配字符的end,并设置光标 content.getCaret().moveDot(matcher.end()); content.getCaret().setSelectionVisible(true); } } }