posts - 97,  comments - 93,  trackbacks - 0

          org.eclipse.jface.viewers.TreeViewer

          的繼承關系是


          更多相關參考可見

          http://help.eclipse.org/help32/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/api/org/eclipse/jface/viewers/TreeViewer.html 

          Tree的應用中,尤其是Eclipse RCP的應用,當計算較為耗費資源時我們有時需要在用戶點擊expend labelarrow或者是雙擊數據節點時處理計算,然后進行展開等操作。

          TreeViewer針對節點對象的雙擊事件給出了比較好的實現,但并沒有直接給出針對expendcollapse labels的事件處理,而給出的addTreeListener(ITreeViewerListener listener)又是處理展開或收縮后的事件。

          1 new TreeView().addTreeListener(new ITreeViewerListener(){
          2             public void treeCollapsed(TreeExpansionEvent event) {
          3                 // TODO Auto-generated method stub
          4             }
          5             public void treeExpanded(TreeExpansionEvent event) {
          6                 // TODO Auto-generated method stub
          7             }
          8         });
          9 

          有些網友對于如何解決點擊等事件處理問題比較困惑,我最近做的一個項目中也恰好用到單擊label后計算并展開、雙擊節點也做相應的計算并展開(計算后的結果保存提高效率)、根據label得到節點對象。以下貼出相應的主要代碼以供參考(原創-版權所有,轉載請標明來自http://www.aygfsteel.com/wqnashqu)。

           1     private void hookClickUnitNavigation() {    
           2         final TreeViewer unitNavigator = this.getTreeViewer();
           3         
           4         unitNavigator.getTree().addListener(SWT.Expand, new Listener() {
           5             public void handleEvent(Event event) {
           6                  (強制轉換為放入的數據類型)event.item.getData();
           7                 if (null != selectedTreeItem) {
           8                  
           9                         handleDoubleClick(unitNavigator, selectedTreeItem,
          10                                 selectedTreeItem.getAdapter(null));
          11                  else
          12                     return;
          13             }
          14         });
          15     }
          16 private void hookDoubleClickOnUnitNavigator() {
          17 final TreeViewer unitNavigator = this.getTreeViewer();
          18            unitNavigator.addDoubleClickListener(new IDoubleClickListener(){
          19             public void doubleClick(DoubleClickEvent event) {
          20                 unitNavigator.getSelection()取得選擇的節點
          21              相關節點的計算
          22            }
          23   });
          24 }
          樣例如下


          posted on 2008-04-23 00:10 wqwqwqwqwq 閱讀(4861) 評論(3)  編輯  收藏 所屬分類: IBM Tech

          FeedBack:
          # re: SWT JFACE .TreeViewer Expand事件及其節點處理方法
          2008-05-22 11:40 | 求助
          http://www.eclipseworld.org/bbs/read-cec-tid-17144.html

          老大幫我看看這個吧萬分感謝啊!  回復  更多評論
            
          # Vnutrennyaya Optimizaciya
          2009-05-18 03:37 | Vnutrennyaya Optimizaciya
          Hi everyone. There ain't no free lunches in this country. And don't go spending your whole life commiserating that you got raw deals. You've got to say, 'I think that if I keep working at this and want it bad enough I can have it.'
          I am from France and now study English, tell me right I wrote the following sentence: "Our company specialized in seo techniques including advanced seo techniques, seo article archive, web domain ranking, search engine advertising, custom application.Looking to top google? Ethical and creative search engine optimisation service agency based in greenock, near glasgow, scotland."

          Best regards :o, Paulina.  回復  更多評論
            
          # re: SWT JFACE .TreeViewer Expand事件及其節點處理方法[未登錄]
          2012-12-24 23:47 | huhu
          @求助
          非常感謝 解決了問題  回復  更多評論
            
          <2012年12月>
          2526272829301
          2345678
          9101112131415
          16171819202122
          23242526272829
          303112345




          常用鏈接

          留言簿(10)

          隨筆分類(95)

          隨筆檔案(97)

          文章檔案(10)

          相冊

          J2ME技術網站

          java技術相關

          mess

          搜索

          •  

          最新評論

          閱讀排行榜

          校園夢網網絡電話,中國最優秀的網絡電話
          主站蜘蛛池模板: 白朗县| 任丘市| 双流县| 鄂温| 永康市| 固始县| 铅山县| 安仁县| 邳州市| 虞城县| 通河县| 香河县| 富民县| 德惠市| 南投市| 台州市| 延安市| 海门市| 水富县| 岢岚县| 灌阳县| 离岛区| 盐城市| 韶山市| 广平县| 信阳市| 资兴市| 合山市| 尼木县| 山阳县| 麦盖提县| 莱州市| 钦州市| 舞钢市| 长泰县| 惠安县| 多伦县| 周至县| 巩义市| 高阳县| 新邵县|