IWizard.canFinish何时执行

时间:2015-05-07 14:28:26

标签: java jface

我已覆盖canFinish()的{​​{1}}方法。可以找到API here

这是我的代码:

IWizard

还有其他方法,如@Override public boolean canFinish(){ if(templatePage.isPageComplete() && jenkinsPage.isPageComplete() && containerPage.isPageComplete() && dataSourcePage.isPageComplete() && queuePage.isPageComplete() && deploymentPage.isPageComplete()){ return true; } else if(model.isDeployOnly()){ return true; } return false; } ,也会被执行。 真的,我想知道addPages()什么时候被执行?是否有执行顺序的列表?

1 个答案:

答案 0 :(得分:2)

每当需要更新按钮栏上的按钮(后退,下一步和完成按钮)时,canFinish都会调用

WizardDialog。首次显示向导时以及在页面之间移动时将会有呼叫。个别向导也可以在需要更新按钮状态时调用IWizardContainer.updateButtons

注意:canFinish的默认代码为:

public boolean canFinish() {
    // Default implementation is to check if all pages are complete.
    for (int i = 0; i < pages.size(); i++) {
        if (!pages.get(i).isPageComplete()) {
            return false;
        }
    }
    return true;
}

因此,如果您只想在所有网页上致电isPageComplete,请致电super.canFinish