Java 如何创建多页工作集向导
我正在开发一个使用自定义工作集的Eclipse插件。现在,用户可以通过文件>新建>其他…>自定义工作集 默认情况下,还可以通过Project Explorer>Select working set…>刚出现的这些工作集向导,例如Java工作集、资源工作集。。。全部由一页组成。从技术上讲,有一个“下一步”按钮,但在选择工作集类型后,该按钮将被禁用 是否有任何方法可以覆盖该行为以启用多页向导?我相信我必须使用WorkingSetNewWizard类或IWorkingSetNewWizard接口,但是我不知道如何定义。org.eclipse.ui.workingSets扩展点的workingSet元素用于定义新工作集类型,它有一个pageClass属性,用于指定实现新工作集向导第二页的类 page类必须实现org.eclipse.ui.dialogs.IWorkingSetPage Eclipse帮助中的示例如下:Java 如何创建多页工作集向导,java,eclipse-plugin,working-set,Java,Eclipse Plugin,Working Set,我正在开发一个使用自定义工作集的Eclipse插件。现在,用户可以通过文件>新建>其他…>自定义工作集 默认情况下,还可以通过Project Explorer>Select working set…>刚出现的这些工作集向导,例如Java工作集、资源工作集。。。全部由一页组成。从技术上讲,有一个“下一步”按钮,但在选择工作集类型后,该按钮将被禁用 是否有任何方法可以覆盖该行为以启用多页向导?我相信我必须使用WorkingSetNewWizard类或IWorkingSetNewWizard接口,但是
注意:WorkingSetNewWizard是一个内部类,所以您不能在代码中引用它。所以我设法让它工作 正如greg-449所指出的,添加自定义工作集可以通过在扩展点org.eclipse.ui.workingset处定义它并实现扩展WizardPage implements org.eclipse.ui.dialogs.IWorkingSetPage的页面类来完成 处理工作集创建的类是WorkingSetNewWizard。默认情况下,它会创建一个由两个页面组成的向导—工作集类型选择和定义的工作集页面,与用户的选择相对应,这就是为什么GUI中有一个“下一步”按钮 要添加另一个页面,您必须重写WizardPage.getNextPage,再次感谢此页面类中的greg-449。传递所需的页面不是现成的,因为您必须将创建向导添加到新的IWizardPage:
通过这种方式,第二个页面不必实现IWorkingSetPage,因为按下finish按钮将触发第一个页面的finish功能。我已经设法定义了pageClass,但是否可以通过某种方式添加更多页面而不仅仅是一个页面?工作集的定义可以在第一页完成,但我还有其他设置页要添加到向导中。我已经用org.eclipse.ui.newWizards扩展点实现了INewWizard,但现在我想向工作集对话框添加类似的页面。您可以尝试覆盖页面上的WizardPage.getNextPage,但我不知道它是否有效。是的,我刚刚尝试了,它启用了“下一步”按钮,但是现在我必须弄清楚如何显示一个新页面,因为现在我在org.eclipse.jface.wizard.WizardDialog.setWizardDialog.java:1173获得了一个空指针,但再次感谢您的帮助!
@Override
public IWizardPage getNextPage() {
IWizardPage page = new WizardPage2();
page.setWizard(getWizard());
return page;
}