2014-09-29 74 views
4

如何通过鼠标左键单击来显示弹出式菜单?我知道默认是鼠标右键单击。但我想通过正常选择按钮来扩展(显示)菜单。 (通过正常的左键单击)。如何通过普通的右键点击弹出菜单如下。如何通过鼠标左键点击swt显示一个弹出菜单?

final Button btnNewgroup = new Button(compositeTextClient, SWT.NONE); 
Menu menu = new Menu(btnNewgroup); 
btnNewgroup.setMenu(menu); 
MenuItem mntmNewItem = new MenuItem(menu, SWT.NONE); 
mntmNewItem.setText("New Item"); 
MenuItem mntmNewItem2 = new MenuItem(menu, SWT.NONE); 
mntmNewItem2.setText("New Item2"); 

回答

6

按钮使用选择键监听器:

btnNewgroup.addSelectionListener(new SelectionAdapter() { 
    @Override 
    public void widgetSelected(final SelectionEvent e) 
    { 
    Rectangle bounds = btnNewgroup.getBounds(); 

    Point point = btnNewgroup.getParent().toDisplay(bounds.x, bounds.y + bounds.height); 

    menu.setLocation(point); 

    menu.setVisible(true); 
    } 
}); 
+1

感谢。有效。其实menu.setVisible(true);仅仅包含在widgetSelected()方法中。但是有什么方法可以删除菜单的默认右键单击操作?因为现在菜单左右点击都可以使用。 – 2014-09-30 04:49:52

相关问题