当前位置:  开发笔记 > 编程语言 > 正文

你可以在JFace向导中禁用后退按钮吗?

如何解决《你可以在JFace向导中禁用后退按钮吗?》经验,为你挑选了2个好方法。

我正在为Eclipse RCP应用程序编写一个向导.在对文件进行一些处理并进行一些用户输入之后,我不想让用户返回进行更改.此时,他们必须接受或拒绝他们将要对系统进行的更改.

我似乎找不到的是一个方法调用,它允许我覆盖显示的按钮或用户点击后退按钮的能力.我宁愿它不存在或至少被禁用.

有没有人找到使用JFace向导和WizardPage这样做的方法?

可用性方面,我是否打破了向导惯例?我应该考虑采用不同的方法解决问题吗?



1> jodonnell..:

您可以从向导页面实现中的getPreviousPage()方法返回null.



2> Nick Sawadsk..:

扩展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

推荐阅读
小色米虫_524
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有