Eclipse RCP右键单击事件

时间:2012-10-12 07:52:16

标签: java swt eclipse-rcp jface tableviewer

如何在TableViewer项目上添加鼠标右键单击侦听器?

2 个答案:

答案 0 :(得分:5)

如果您指的是JFace TableViewer,则可以使用以下方法,假设viewer是您的TableViewer

MenuManager manager = new MenuManager();
viewer.getControl().setMenu(manager.createContextMenu(viewer.getControl()));

manager.add(new Action("MENU ITEM TEXT", ImageDescriptor.createFromImage(YOUR_IMAGE)) {
    @Override
    public void run() {
        // get the current selection of the tableviewer
        IStructuredSelection selection = (IStructuredSelection) viewer.getSelection();
        // do something
    }
});

否则,请澄清您的问题。

答案 1 :(得分:2)

您可以获取TableViewer的表并调用

public void addMouseListener (MouseListener listener)

MouseEvent将告诉您按下了哪个鼠标按钮

/**
 * the button that was pressed or released; 1 for the
 * first button, 2 for the second button, and 3 for the
 * third button, etc.
 */
public int button;