Java 如何在向导页面对话框而不是工作台中显示帮助
在使用Eclipse扩展点“org.Eclipse.ui.newWizards”实现的NewWizard中,当org.Eclipse.jface.wizard.wizards页面打开时,我希望右侧的帮助区域立即显示,而无需按下(?)帮助按钮 我在WizardPage.createControl(复合父级)的末尾调用了以下代码,但帮助将在向导对话框后面的工作台中打开。我希望它打开向导右侧的帮助Java 如何在向导页面对话框而不是工作台中显示帮助,java,eclipse,jface,wizard,Java,Eclipse,Jface,Wizard,在使用Eclipse扩展点“org.Eclipse.ui.newWizards”实现的NewWizard中,当org.Eclipse.jface.wizard.wizards页面打开时,我希望右侧的帮助区域立即显示,而无需按下(?)帮助按钮 我在WizardPage.createControl(复合父级)的末尾调用了以下代码,但帮助将在向导对话框后面的工作台中打开。我希望它打开向导右侧的帮助 private void sethelp() { postSetFocus(this.getCo
private void sethelp() {
postSetFocus(this.getControl());
PlatformUI.getWorkbench().getHelpSystem().setHelp(this.getControl(), STR_CONTEXT );
PlatformUI.getWorkbench().getHelpSystem().displayDynamicHelp();
}
private void postSetFocus(final Control control) {
Display display = control.getDisplay();
if (display != null) {
display.asyncExec(new Runnable() {
@Override
public void run() {
control.setFocus();
}
});
}
}
我确信我的帮助上下文是正确的。向导页面打开后,如果我手动单击(?)按钮,帮助将沿向导的右侧打开。但我希望它以编程方式发生
我是否缺少PlatformUI.getWorkbench().getHelpSystem()的某些信息
感谢您的帮助(无双关语)。在
设置焦点后,尝试在asyncExec Runnable中执行显示dynamichelp
。谢谢,但这不起作用;仍不显示在向导对话框中。好像我没有得到正确的activeShell,而是得到了正常的工作台。我试过:IWorkbenchWindow=PlatformUI.getWorkbench().getActiveWorkbenchWindow();window.getWorkbench().getHelpSystem().displayDynamicHelp();但这也有同样的行为。