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

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

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

    Feeling

        三人行,必有我師焉

       ::  :: 新隨筆 :: 聯系 ::  :: 管理 ::
      185 隨筆 :: 0 文章 :: 392 評論 :: 0 Trackbacks

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

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

    一般來說,當需要記錄和恢復一個TreeViewer的狀態的時候,這個方法就會顯得非常有用處。

    posted on 2006-12-23 13:21 三人行,必有我師焉 閱讀(3165) 評論(4)  編輯  收藏

    評論

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

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

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

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


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


    網站導航:
     
    GitHub |  開源中國社區 |  maven倉庫 |  文件格式轉換 
    主站蜘蛛池模板: 亚洲视频免费在线观看| 国产亚洲AV无码AV男人的天堂| 久久亚洲熟女cc98cm| 日韩精品在线免费观看| 久久久无码精品亚洲日韩蜜桃| 国产午夜精品理论片免费观看 | 久久99精品国产免费观看| 亚洲AV永久无码精品一百度影院| aa级女人大片喷水视频免费| 亚洲中文字幕不卡无码| 久草免费福利视频| 久久久久亚洲AV无码专区首JN| 日韩午夜理论免费TV影院| 亚洲国产人成在线观看| 最新仑乱免费视频| 一级毛片人与动免费观看| 国产亚洲成归v人片在线观看| 中文在线观看永久免费 | 亚洲同性男gay网站在线观看| 亚洲成人在线免费观看| 在线aⅴ亚洲中文字幕| 国产小视频在线观看免费| 一级做a爰片性色毛片免费网站| 丝袜熟女国偷自产中文字幕亚洲| a级男女仿爱免费视频| 亚洲第一网站免费视频| 日本免费v片一二三区| 国产免费黄色无码视频| 噜噜噜亚洲色成人网站∨| 精品免费久久久久久成人影院| 夜夜爽妓女8888视频免费观看| 亚洲成a人片在线观看无码专区| 4444www免费看| 国产亚洲精品成人久久网站| 亚洲综合精品网站| 国产精品入口麻豆免费观看| 免费看黄福利app导航看一下黄色录像| 亚洲国产天堂在线观看| 曰皮全部过程视频免费国产30分钟 | 又大又硬又爽又粗又快的视频免费| 中日韩亚洲人成无码网站|