当按下F1
时,TrayDialog
的默认行为是打开帮助托盘(如果尚未打开),方法是调用openTray()
。我不希望这种行为(但我确实想使用扩展ElementTreeSelectionDialog
的{{1}},而我不知道如何禁用它。
我尝试为TrayDialog
添加我自己的侦听器事件过滤器,并在SWT.KeyDown
内设置event.type = SWT.NONE
但没有成功(我自己的事件处理程序有效,但托盘也已打开)。< / p>
我还试图覆盖handleEvent()
什么也不做,但随后抛出了NPE:
openTray()
有什么想法吗?我正在使用Eclipse Kepler。
答案 0 :(得分:1)
好吧,我找到了办法。我不确定它是否是推荐/清洁/安全的方式,但如果它对某人有帮助,这对我有用:
@Override
protected void configureShell(Shell shell) {
super.configureShell(shell);
shell.addHelpListener(new HelpListener() {
@Override
public void helpRequested(HelpEvent e) {
// nothing to do
}
});
}