1
當按下F1
時,TrayDialog
的默認行爲是通過調用openTray()
打開幫助托盤(如果尚未打開)。我不希望這種行爲(但我確實想使用ElementTreeSelectionDialog
,它擴展了TrayDialog
),我不知道如何禁用它。如何永久禁用SWT TrayDialog中的托盤?
我試圖添加我自己的偵聽器事件篩選器SWT.KeyDown
並在我的handleEvent()
中設置event.type = SWT.NONE
沒有成功(我自己的事件處理程序工作,但托盤已打開)。
我也試圖重寫openTray()
什麼都不做,但隨後NPE被拋出:
java.lang.NullPointerException
at org.eclipse.help.ui.internal.DefaultHelpUI.displayContextAsHelpTray(DefaultHelpUI.java:426)
at org.eclipse.help.ui.internal.DefaultHelpUI.displayContext(DefaultHelpUI.java:348)
at org.eclipse.help.ui.internal.DefaultHelpUI.displayContext(DefaultHelpUI.java:288)
at org.eclipse.ui.internal.help.WorkbenchHelpSystem.displayContext(WorkbenchHelpSystem.java:905)
at org.eclipse.ui.internal.help.WorkbenchHelpSystem$WorkbenchHelpListener.helpRequested(WorkbenchHelpSystem.java:142)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:153)
...
任何想法?我正在使用Eclipse Kepler。
什麼堆棧跟蹤你得到的,當你覆蓋'openTray'的NPE? –
@ greg-449添加了堆棧跟蹤。 – leonbloy