2014-09-29 75 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

相關問題