<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    何以解憂?唯有Java

    其實程序員也懂得浪漫!
    posts - 90, comments - 637, trackbacks - 0, articles - 2
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    使用Lucene 對JTable進行搜索

    Posted on 2009-10-19 15:52 guanminglin@gmail.com 閱讀(29219) 評論(11)  編輯  收藏 所屬分類: JavaSENetBeans

         經常會遇到一個表格中有許多的數據,想要找到一條符合自己要求的數據會比較麻煩,需要一條一條的找。數據量小還好,但是如果有幾百條上千條的數據找起來就比較麻煩了。Lucene 提供了一個拓展包 lucene-swing,可以很方便的對JTable進行搜索。

    下面介紹一下拓展包,以及如何使用這個拓展包:

     Lucene-swing 并不在Lucene的核心包中而是以拓展包的形式存在,所以你可以在下載的Lucene包中找到它。請看下面的截圖:

    在這個包中提供了兩種搜索形式:TableSearcher ListSearcher

    顧名思義 就是提供對JTable JList 進行搜索的功能。

    一、表格搜索功能

    1org.appche.lucene.swing.models.TableSearcher

    要想對表格進行搜索,先要對表格的模型進行包裝,在SwingMVC模型中model中存在數據,操作表格中的數據基本上都是操作Model中的數據。Lucene -swing對表格模型進行了包裝,所以可以很好的對JTable進行搜索。

    一般使用Lucene-swing的步驟是:


    JTable table = new Jtable(); //先建立一個表格對象

    MytableModel model 
    = new MytableModel(); //再新建一個表格模型

    //下面就是包裝原有的表格模型了

    //其實TableSearcher 也是一個表格模型,只是對原有的表格模型進行了包裝

    TableSearcher searcher 
    = new TableSearcher(model);

    table.setModel(searcher);

    接著就可以在的搜索按鈕或者JTextField的鍵盤監聽事件中調用搜索方法了
    searcher.search(keywords)

    一般情況下都會將這個方法封裝:

    public void tableSearch() {

    String keywords 
    = keyWordTF.getText().toLowerCase();

    searcher.search(keywords); 
    //搜索表格并返回結果

    }

    下面是我寫的一個例子的截圖:

    初始化界面:

     

    搜索結果界面:

     


    如果你細心的話,你會發現上面的搜索都是英文的,那它能搜索中文嗎?答案是肯定的,不過你要提供中文分詞器。在TableSearcher 類中提供了一個設置分詞器的方法:

     


     

    中文分詞器,我這里使用的是JE 分詞,jeasy.analysis.MMAnalyzer

    所以你可以這樣調用:searcher.setAnalyzer(new MMMnalyzer());


    接下來就來檢驗一下是否可以對中文進行搜索了。

    現改變一些模型數據,改完后的界面:


    可以看到有兩條有中文的數據,現在看看效果如何:



    可以看到已經可以搜索中文了。


     


    評論

    # re: 使用Lucene 對JTable進行搜索  回復  更多評論   

    2009-10-19 17:49 by 凡客誠品網
    受教了~謝謝樓主

    # re: 使用Lucene 對JTable進行搜索[未登錄]  回復  更多評論   

    2009-10-19 18:22 by 小毅
    其實實質就是利用tablemodel動態改變JTABLE的內容

    # re: 使用Lucene 對JTable進行搜索  回復  更多評論   

    2009-10-20 03:17 by 美容
    使用Lucene good

    # re: 使用Lucene 對JTable進行搜索  回復  更多評論   

    2009-10-22 11:17 by zhonghuazc
    還正想自己整一個全文索引的工具呢,沒有想到lucene有了,爽

    # re: 使用Lucene 對JTable進行搜索[未登錄]  回復  更多評論   

    2009-10-26 10:36 by sky
    非常好,謝謝!

    # re: 使用Lucene 對JTable進行搜索  回復  更多評論   

    2009-12-25 21:39 by java_love
    樓主可以將這個例子的詳細發一下么?我照著試一下不行呢?

    # re: 使用Lucene 對JTable進行搜索  回復  更多評論   

    2009-12-25 22:08 by java_love
    如果樓主有空閑的話,是否可以將源碼發給我lbyzmy5@gmail.com

    # re: 使用Lucene 對JTable進行搜索  回復  更多評論   

    2011-09-29 09:15 by tb
    好用

    # re: 使用Lucene 對JTable進行搜索  回復  更多評論   

    2011-10-25 08:42 by tb
    這個好用............

    # re: 使用Lucene 對JTable進行搜索  回復  更多評論   

    2014-04-24 05:07 by im404
    能不能把你這個jar包發給我呢?Email:im404@qq.com

    # re: 使用Lucene 對JTable進行搜索[未登錄]  回復  更多評論   

    2014-10-10 16:45 by amy
    求源碼?asdff_px@126.com 我照著代碼寫,也不行,無解!
    主站蜘蛛池模板: 亚洲高清有码中文字| 性做久久久久久久免费看| 看亚洲a级一级毛片| 亚洲精品国产第1页| 亚洲福利在线视频| 亚洲精品国产精品乱码视色| 亚洲欧洲日本在线| 午夜亚洲福利在线老司机| 国产成人在线免费观看| 毛片免费观看网址| 免费看国产精品3a黄的视频| 免费精品国偷自产在线在线| 中文免费观看视频网站| 日韩不卡免费视频| 久久久久久99av无码免费网站| 日韩av无码成人无码免费| 最近免费中文字幕大全视频| 麻豆最新国产剧情AV原创免费| 亚洲毛片免费视频| 无限动漫网在线观看免费| 成人黄动漫画免费网站视频 | 国产精品免费AV片在线观看| 95免费观看体验区视频| 99爱视频99爱在线观看免费| 国产在线观看免费观看不卡| 四虎成人精品一区二区免费网站| 国产精品酒店视频免费看| 又大又粗又爽a级毛片免费看| av在线亚洲欧洲日产一区二区| 久久国产亚洲精品麻豆| 久久久国产精品亚洲一区| 亚洲国产欧美国产综合一区| 免费高清A级毛片在线播放| 久久黄色免费网站| 日本最新免费不卡二区在线| 亚洲免费视频一区二区三区| 亚洲理论在线观看| 无遮挡国产高潮视频免费观看| 无码av免费网站| 日韩精品电影一区亚洲| 久久精品国产亚洲AV忘忧草18|