Eclipse向导有三部分:WizardDialog,Wizard,WizardPage。要控制WizardDialog的按钮,即“上一步”,“下一步”,“完成”。
在WizardPage类中,有setPageComplete(boolean)方法,设置页面是否完成,为true时,“上一步”,“下一步”和“完成”按钮可用。为什么呢?看源码。
public void setPageComplete(boolean complete) {
isPageComplete = complete;
if (isCurrentPage()) {
getContainer().updateButtons();
}
}
接着看updateButtons()方法,该方法是IWizardContainer中的方法,而WizardDialog是其实现类,所以看其如何实现。
public void updateButtons() {
boolean canFlipToNextPage = false;
boolean canFinish = wizard.canFinish();
if (backButton != null) {
boolean backEnabled = currentPage != null && currentPage.getPreviousPage() != null;
backButton.setEnabled(backEnabled);
}
if (nextButton !