java如何动态添加JFace向导页面
我目前正在尝试使用JFace向导为应用程序实现“导入向导”
基本上,我必须根据用户的输入添加下一页“及时”,因为向导中的每个“步骤”都取决于前面的步骤
因此,在WizardImport的构造函数中,我将添加第一个页面,使用:
addPage(new WizardImportSourcePage(data));
在此页面(WizardImportSourcePage)中,我希望根据所选的源添加下一页,例如:
btnCsv.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent arg0) {
data.getWizard().addPage(new WizardImportSourcePage(data));
setPageComplete(true);
}
});
正如您可以看到的,所有这些都发生在适当的侦听器中。不幸的是,这不起作用。向导缺少“下一步”按钮,但只显示“完成”按钮,因为在实际按下按钮之前,它不知道下一页的任何信息。我已经尝试调用updateButtons()
,但它没有改变任何东西
那么,有什么建议可以让它发挥作用吗?动态构建向导页面的正确方法是什么?大多数教程似乎都假设页面是在开始时创建的,只有顺序是使用getNextPage()
更改的
# 1 楼答案
在扩展
Wizard
的代码中,可以重写它允许您在给定当前向导页面的情况下决定下一步返回哪个页面(还有一个^{)