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 閱讀(4873) 評論(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
          @求助
          非常感謝 解決了問題  回復  更多評論
            
          <2008年4月>
          303112345
          6789101112
          13141516171819
          20212223242526
          27282930123
          45678910




          常用鏈接

          留言簿(10)

          隨筆分類(95)

          隨筆檔案(97)

          文章檔案(10)

          相冊

          J2ME技術網站

          java技術相關

          mess

          搜索

          •  

          最新評論

          閱讀排行榜

          校園夢網網絡電話,中國最優秀的網絡電話
          主站蜘蛛池模板: 皋兰县| 前郭尔| 惠州市| 苍梧县| 明水县| 延长县| 喀喇沁旗| 尖扎县| 凤山市| 乌海市| 嘉善县| 江山市| 莒南县| 抚州市| 呼玛县| 都安| 三穗县| 汝阳县| 左云县| 汽车| 巨鹿县| 阜康市| 栖霞市| 乐亭县| 开江县| 玉环县| 奇台县| 金坛市| 嘉鱼县| 平罗县| 汶上县| 会理县| 柞水县| 漳平市| 邵东县| 康定县| 紫金县| 南部县| 金堂县| 武胜县| 深圳市|