我们可以在JFace向导中禁用"后退"按钮吗?
时间:2020-03-05 18:48:14 来源:igfitidea点击:
我正在为Eclipse RCP应用程序编写向导。在对文件进行了一些处理并接受了一些用户输入之后,我不想让用户返回进行更改。在这一点上,他们必须接受或者拒绝将要对系统进行的更改。
我似乎找不到的是一个方法调用,它使我可以覆盖显示的按钮或者用户单击后退按钮的能力。我希望它不存在或者至少被禁用。
有没有人找到使用JFace向导和WizardPage做到这一点的方法?
在可用性方面,我是否违反了向导约定?我是否应该考虑采用其他解决方法?
解决方案
回答
我们可以从向导页面实现中的getPreviousPage()方法返回null。
回答
从UI的角度来看,这似乎很糟糕。如果用户犯了一个错误并想回去纠正它,而我们不让他们这样做,用户将会感到沮丧。我认为最好更改应用程序以允许返回,而不是寻找阻止它的方法。
回答
无法使用标准JFace向导API来执行此操作。我的团队通过编写自定义的WizardDialog来完成此任务。我们是在Eclipse RCP应用程序上而不是在eclipse插件上完成的。禁用后退按钮违反了惯例,但是我们的业务分析人员确实需要该功能。