RCP 添加右键菜单

时间:2021-08-24 02:40:00

自己写的。写的不是很好。希望对大家有点帮助。。。。

===============================================

先在plugin.xmladd一个org.eeclipse.ui.views。如下:

继承ViewPart实现class

         

public class ViewPart1 extends ViewPart {

 

    public static final String ID = "PopupMenuTest.view1";

   

    private CheckboxTableViewer table;

    public ViewPart1() {

    }

 

    @Override

    public void createPartControl(Composite parent) {

       table=CheckboxTableViewer.newCheckList(parent,SWT.NONE);

      

       MenuManager item = new MenuManager("table","table");

       item.setRemoveAllWhenShown(true);

       Menu popupMenu = item.createContextMenu(table.getTable());  

       table.getTable().setMenu(popupMenu);

//        getSite().setSelectionProvider(viewer);  

        getSite().registerContextMenu(item, table);

    }

 

    @Override

    public void setFocus() {

 

    }

}

当然你也可以用TableViewer代替CheckboxTableViewer,下面不用变,同样的方法实现。

plugin.xml中添加org.eclipse.ui.popupMenus,在下面viewerContribution与一个action,注意的是targetID中填写的是你所要实现右键视图id。

viewerContribution下添加一个aciton,注意的是在menubarPath中填写的是你在视图类中MenuManager后面跟的参数table

 

 这样。也就可以了。现在可以试试运行,看看效果了。