0

我有控制权,假设我ImageHyperlink imageHyperlink在哪个弹出菜单上创建了这样的弹出菜单:Menu menu = new Menu(imageHyperlink); 假设我可以访问 imageHyperlink,有没有办法以编程方式访问该菜单(及其菜单项)?谢谢

4

1 回答 1

0

假设构造函数Menu以任何方式与Control构造函数中指定的对象相关联是一个常见错误!有问题的构造函数定义为

public Menu (Control parent) {
    this (checkNull (parent).menuShell (), SWT.POP_UP);
}

所以换句话说:菜单与Shell控件相关联,而不是控件本身。

在 aMenu充当特定的弹出菜单之前,必须Control将菜单显式设置为控件的菜单

imageHyperlink.setMenu(menu);

完成此操作后,始终可以使用 检索菜单imageHyperlink.getMenu()

于 2013-05-09T20:27:19.260 回答