有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案

  1. # 1 楼答案

    在扩展Wizard的代码中,可以重写

    public IWizardPage getNextPage(IWizardPage page)
    

    它允许您在给定当前向导页面的情况下决定下一步返回哪个页面(还有一个^{