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針對節點對象的雙擊事件給出了比較好的實現,但并沒有直接給出針對expend、collapse 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

          老大幫我看看這個吧萬分感謝?。?nbsp; 回復  更多評論
            
          # 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

          搜索

          •  

          最新評論

          閱讀排行榜

          校園夢網網絡電話,中國最優秀的網絡電話
          主站蜘蛛池模板: 武冈市| 江西省| 萍乡市| 五大连池市| 二连浩特市| 龙陵县| 红桥区| 乐东| 万盛区| 长武县| 杨浦区| 崇礼县| 湛江市| 大兴区| 城口县| 安泽县| 西峡县| 城步| 滦平县| 罗源县| 城口县| 白银市| 和龙市| 柳州市| 两当县| 秦皇岛市| 青州市| 邓州市| 中牟县| 望江县| 广丰县| 庆元县| 桐城市| 五大连池市| 郓城县| 视频| 彝良县| 太仓市| 吐鲁番市| 兴义市| 宜阳县|