【发布时间】:2015-08-14 11:42:58
【问题描述】:
我正在尝试基于 CEditor 做一个编辑器,但不希望其继承方法之一的侦听器与我的功能之一发生冲突。
所以我想继承该方法,但删除侦听器及其实现。
代码如下:
class CEditor{
@Override
public void createPartControl(Composite parent) {
super.createPartControl(parent);
final IWorkbenchHelpSystem helpSystem = PlatformUI.getWorkbench().getHelpSystem();
parent.addHelpListener(new HelpListener() {
public void helpRequested(HelpEvent e) {
IContextProvider provider = (IContextProvider) CEditor.this.getAdapter(IContextProvider.class);
if (provider != null) {
IContext context = provider.getContext(CEditor.this);
if (context != null) {
helpSystem.displayHelp(context);
return;
}
}
helpSystem.displayHelp(ICHelpContextIds.CEDITOR_VIEW);
}});
...
}}
class MyEditor{
@Override
public void createPartControl(Composite parent) {
super.createPartControl(parent);
Listener[] listeners = parent.getListeners(<<eventType>>);
for (Listener listener : listeners)
parent.removeHelpListener((HelpListener) listener);}
但它不起作用,getListener(int eventType) 方法要求一个 eventType,我不知道哪个事件类型号可以链接到我想要的 Listener。
有人可以帮帮我吗?
如何获取事件类型?
【问题讨论】:
标签: java eclipse eclipse-plugin listener