<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 我照著代碼寫,也不行,無解!
    主站蜘蛛池模板: 8x网站免费入口在线观看| 免费人成在线观看网站| 成人免费看黄20分钟| 亚洲欧洲日韩在线电影| 久久久久成人片免费观看蜜芽| 亚洲综合伊人久久综合| 中文字幕不卡免费高清视频| 亚洲中文字幕在线观看| 中文在线日本免费永久18近| 久久久久久久综合日本亚洲| 你懂的在线免费观看| 老妇激情毛片免费| 免费a级毛片视频| 亚洲日本乱码一区二区在线二产线 | 老色鬼久久亚洲AV综合| 中文字幕在线观看免费视频 | 亚洲中文无码mv| 情侣视频精品免费的国产| 亚洲国产成人手机在线观看| 成全视成人免费观看在线看| 亚洲av午夜成人片精品网站| 99久久人妻精品免费一区| 亚洲毛片基地日韩毛片基地| 成人人观看的免费毛片| 真正全免费视频a毛片| 久久亚洲色一区二区三区| 久久免费看少妇高潮V片特黄| 亚洲成综合人影院在院播放| 最近的免费中文字幕视频| 黄色三级三级三级免费看| 精品久久久久久亚洲| 亚洲视频在线免费播放| 亚洲国产AV一区二区三区四区| 久久精品亚洲乱码伦伦中文| 中文字幕在线免费观看| 亚洲人成网站在线播放2019 | 国产成人精品曰本亚洲79ren| 国产精品免费福利久久| 免费做爰猛烈吃奶摸视频在线观看 | 国产成人免费网站在线观看| 日韩精品无码免费专区午夜不卡|