我已经覆盖了canFinish()
的IWizard
方法。可以找到该API here
这是我的代码:
@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()
的方法也可以执行。真的,我想知道何时执行
canFinish()
吗?是否有执行顺序的列表? 最佳答案
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