我正在为Eclipse RCP应用程序编写一个向导.在对文件进行一些处理并进行一些用户输入之后,我不想让用户返回进行更改.此时,他们必须接受或拒绝他们将要对系统进行的更改.
我似乎找不到的是一个方法调用,它允许我覆盖显示的按钮或用户点击后退按钮的能力.我宁愿它不存在或至少被禁用.
有没有人找到使用JFace向导和WizardPage这样做的方法?
可用性方面,我是否打破了向导惯例?我应该考虑采用不同的方法解决问题吗?
您可以从向导页面实现中的getPreviousPage()方法返回null.
扩展jodonell的答案:
由于WizardPage.getPreviousPage()的默认实现中的非直观行为,禁用后退按钮比应该更难.您可以调用setPreviousPage(null),getPreviousPage()仍然返回上一页.您需要覆盖getPreviousPage()的实现以禁用后退按钮:
public abstract class MyWizardPage extends WizardPage { private boolean backButtonEnabled = true; public void setBackButtonEnabled(boolean enabled) { backButtonEnabled = enabled; getContainer().updateButtons(); } @Override public IWizardPage getPreviousPage() { if (!backButtonEnabled) { return null; } return super.getPreviousPage(); } }
请参阅我的博客文章,了解更多JFace向导提示和技巧:
http://nsawadsky.blogspot.com/2011/07/jface-wizard-tips-and-tricks.html