我有控制权,让我们说ImageHyperlink imageHyperlink
我在其上创建了弹出式菜单:Menu menu = new Menu(imageHyperlink);
假设我有权访问imageHyperlink,有没有办法以编程方式访问该菜单(及其菜单项)?
感谢
答案 0 :(得分:0)
假设构造的Menu
与构造函数中指定的Control
有任何关联,这是一个常见的错误!有问题的构造函数定义为
public Menu (Control parent) {
this (checkNull (parent).menuShell (), SWT.POP_UP);
}
所以换句话说:菜单与控件的Shell
相关联,而不是控件本身。
在Menu
充当特定Control
的弹出菜单之前,菜单必须明确设置为控件的菜单
imageHyperlink.setMenu(menu);
完成此操作后,始终可以使用imageHyperlink.getMenu()
检索菜单。