繁体   English   中英

如何动态添加JFace WizardPage

[英]How to dynamically add JFace WizardPage

我目前正在尝试使用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()才能更改顺序。

在代码扩展Wizard您可以覆盖

public IWizardPage getNextPage(IWizardPage page)

在给定当前向导页面的情况下,它可以让您决定下一个要返回的页面(还有一个getPreviousPage

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM