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

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

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

    Feeling

        三人行,必有我?guī)熝?/p>

       ::  :: 新隨筆 :: 聯(lián)系 ::  :: 管理 ::
      185 隨筆 :: 0 文章 :: 392 評論 :: 0 Trackbacks

    Eclipse下的開發(fā)因為是插件化的,所以一切都要盡可能的實行標(biāo)準(zhǔn),而不是直接操作底層,就Tree來說,就需要使用TreeViewer,而不是Tree,但是使用封裝后的組件往往有一些自定義的目標(biāo)做不到,比如對一個TreeViewer setInput之后,因為input Model的改變,TreeViewer要對每個節(jié)點的路徑進行計算,如果得到的element和原來的不一樣,就會進行路徑更新,放棄原有的路徑。而Tree是一個多級化的組件,有折疊的狀態(tài)存在,每一個TreeItem可以擁有自己的子節(jié)點。如果直接使用TreeViewer,然后想對TreeViewer的Tree直接進行操作實際上是不可能的。TreeViewer的節(jié)點是通過ContentProvider動態(tài)拿到的,所以當(dāng)我們想直接操作某一個節(jié)點,比如想讓它展開,或者獲得它的子節(jié)點數(shù)目的時候,得到的結(jié)果都會和預(yù)期結(jié)果完全不一樣,因為那個時候TreeItem的子節(jié)點并沒有被自動創(chuàng)建。

    那么如何對一個TreeViewer的TreeItem進行操作呢?通過以上的分析得知,我們首先要創(chuàng)建出該節(jié)點的子節(jié)點才行。TreeViewer里有一個方法:protected void createChildren(Widget widget),該方法是用來創(chuàng)建TreeItem的子節(jié)點的,可以看到它是一個protected方法,不允許外界訪問的。我們可以在需要用到TreeViewer的地方,自己繼承TreeViewer,覆寫createChildren方法,把protected改成public。然后通過這個CustromTreeViewer,就可以自由控制子節(jié)點了。凡是我們需要操作TreeItem的地方,首先createChildren(item),然后item.setExpanded(true)或者item.getItems[]都可以正常使用了。

    一般來說,當(dāng)需要記錄和恢復(fù)一個TreeViewer的狀態(tài)的時候,這個方法就會顯得非常有用處。


    評論

    # re: TreeViewer中直接對Tree節(jié)點的控制 2007-03-29 14:16 ll
    請教:我有幾組關(guān)聯(lián)的數(shù)組,如a[1],a[2],分別對應(yīng)存放的a1[1],a1[2]以及a2[1],a2[2],而且這個數(shù)組的大小會改變,如何將它們分別動態(tài)加載與一個treeviewer和一個tableviewer  回復(fù)  更多評論
      

    # re: TreeViewer中直接對Tree節(jié)點的控制 2007-04-04 16:31 Feeling
    怎么加載那是provider的事情了,Viewer把所有的顯示邏輯都交給Provider來處理,這也是Eclipse架構(gòu)中最擅長的一件事情了  回復(fù)  更多評論
      

    # re: TreeViewer中直接對Tree節(jié)點的控制 2007-11-21 17:58 tao
    我覺得你這種方法并不是最好的,TreeViewer設(shè)計出來并不是用來繼承的。你上面所說的節(jié)點展開和獲取子節(jié)點完全可以用其他方法取代,節(jié)點展開TreeViewer已經(jīng)委托給了Tree進行處理,獲取子節(jié)點你可以通過getSelection后,在provider中通過對model的計算來獲得子節(jié)點的數(shù)目。  回復(fù)  更多評論
      

    # re: TreeViewer中直接對Tree節(jié)點的控制 2010-08-12 09:42 alvin
    請問,能把獲得子節(jié)點數(shù)目的方法說的再詳細點嗎?@tao
      回復(fù)  更多評論
      


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    GitHub |  開源中國社區(qū) |  maven倉庫 |  文件格式轉(zhuǎn)換 
    主站蜘蛛池模板: 又黄又大的激情视频在线观看免费视频社区在线| 亚洲乱亚洲乱淫久久| 亚洲日韩国产AV无码无码精品| 久久国产乱子伦精品免费看| 亚洲av无码乱码国产精品| a级毛片高清免费视频就| 日亚毛片免费乱码不卡一区| 又大又硬又爽免费视频| 男人和女人高潮免费网站| 亚洲伊人久久成综合人影院| 中文毛片无遮挡高清免费| 国产成A人亚洲精V品无码| 97免费人妻在线视频| 亚洲AV无码国产精品色| 成人永久福利免费观看| 一区二区三区免费视频观看| 国产精品久久久亚洲| 最近的中文字幕大全免费8| 精品亚洲国产成人| 免费一区二区三区四区五区| 精品一区二区三区免费视频| 成人免费无码精品国产电影| 美女免费视频一区二区三区| 亚洲日韩乱码中文无码蜜桃臀网站 | 久99久无码精品视频免费播放| 中文字幕亚洲第一| 99热这里只有精品6免费| 亚洲精品国产精品国自产网站| 日韩一区二区免费视频| 一区二区三区免费精品视频| 亚洲第一精品福利| 爽爽爽爽爽爽爽成人免费观看| 亚洲毛片在线观看| 啦啦啦高清视频在线观看免费| 菠萝菠萝蜜在线免费视频| 亚洲av无码一区二区三区乱子伦| 国产精品69白浆在线观看免费| 猫咪免费人成在线网站| 亚洲免费精彩视频在线观看| 免费国产高清视频| 99久久久国产精品免费牛牛|