eclipshine

          Eclipse主題站

          導航

          <2006年11月>
          2930311234
          567891011
          12131415161718
          19202122232425
          262728293012
          3456789

          統計

          常用鏈接

          留言簿(8)

          隨筆分類

          隨筆檔案

          Blogs

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          否決彈出菜單

          有時候,比如說在顯示一個TableViewer的彈出菜單時,可能對于某些行不希望顯示彈出菜單,而另外的一些行則需要顯示彈出菜單予以操作。今天碰到這個問題,使用了MenuListener來解決了:
              menu.addMenuListener(new MenuAdapter() {
                  public void menuShown(MenuEvent e) {
                      ISelection selection = tableTreeViewer.getSelection();
                      IStructuredSelection ss = (IStructuredSelection) selection;
                      Object firstElement = ss.getFirstElement();
                      if (firstElement instanceof IAttributeCatagory)
                          menu.setVisible(false);
                  }
              });
          我隱約記得好像是有一個menuAboutToShow()的方法,但不記得是在哪個Listener中定義的了。可以在menuAboutToShow()中定義對MenuItem進行動態的添加或者刪除。不知道是不是我記錯了,哪位記得有這個方法的?
          MenuListener好像也可以做這個事情,雖然在其文檔中說道,當菜單已經被顯示時menuShown()方法被調用,但是我在實際操作的時候,就上面的 例子來看,菜單并沒有被顯示出來就被setVisible(false)了,不知道是不是太快了的緣故。還是應該有menuAboutToShow()這 樣的方法才對。

          posted on 2005-09-21 08:48 Living Not Striving 閱讀(1008) 評論(2)  編輯  收藏 所屬分類: RCP

          評論

          # re: 否決彈出菜單 2006-04-21 09:52 fph

          IMenuListener中有哪個方法  回復  更多評論   

          # re: 否決彈出菜單 2006-11-19 19:18 Jet Geng

          IMenuListener 中定義了該接口。
          使用的時候把實現了IMenuListener 接口的類作為參數傳入MenuManager.addMenuListener()方法中就可以了。也很好用。  回復  更多評論   

          主站蜘蛛池模板: 义乌市| 永善县| 边坝县| 乐东| 桐柏县| 彰武县| 十堰市| 吴江市| 河南省| 噶尔县| 英吉沙县| 广宁县| 岳西县| 嘉黎县| 泸定县| 家居| 开化县| 迭部县| 望都县| 万荣县| 绥宁县| 北流市| 东源县| 永新县| 江山市| 财经| 定日县| 北流市| 齐齐哈尔市| 澄城县| 理塘县| 漳州市| 昌平区| 天全县| 义乌市| 土默特左旗| 女性| 临猗县| 东海县| 蓬溪县| 石林|