2015-03-02 63 views
0

我正在RCP應用程序中創建樹結構。我想能夠創建一個彈出式菜單。我已經能夠創建一個虛擬菜單項。在e4中添加一個彈出菜單到樹Rcp

final Menu treeMenu = new Menu(check.getShell(), SWT.POP_UP); 
     MenuItem item = new MenuItem(treeMenu, SWT.PUSH); 
     item.setText("Open"); 
     item.addSelectionListener(new SelectionListener() { 

      @Override 
      public void widgetSelected(SelectionEvent e) { 
       System.out.println("CAme in Open"); 
      } 

      @Override 
      public void widgetDefaultSelected(SelectionEvent e) { 
       // TODO Auto-generated method stub 

      } 
     }); 

     check.setMenu(treeMenu); 

但是這個菜單不能識別節點的細節。我想要一些可以獲取關於我們已經打開上下文菜單的節點的信息。

回答

0

如果您使用的是TreeViewer(或TableViewer)只是得到當前的選擇:

IStructuredSelection sel = (IStructuredSelection)treeViewer.getSelection(); 

Object selectedElement = sel.getFirstElement(); 

對於Tree使用:

TreeItem [] selectedItems = tree.getSelection(); 
+0

可我們的widgetselected方法裏面直接添加呢? – Praveen 2015-03-02 08:12:26

+0

是的。顯然你必須使treeViewer可用 – 2015-03-02 08:15:11

+0

這是我會嘗試的東西,但如果我們正在使用樹,而不是樹視圖 – Praveen 2015-03-02 08:17:54