【问题标题】:How to update controls on a wizard page?如何更新向导页面上的控件?
【发布时间】:2020-05-25 20:11:42
【问题描述】:

我有一个由 2 个向导页面组成的向导。

@Override
public void addPages() {
    super.addPages();
    addPage(firstPage);
    addPage(secondPage);    
}

我看到两个页面的createControl 方法在显示向导时立即被调用。

第一个向导页面有一个文本字段。当用户从第一页导航到发送页面时,我想在用户在第一页输入的第二页上显示相同的文本值。

我怎样才能做到这一点?如何更新控件?

【问题讨论】:

    标签: java eclipse swt wizard


    【解决方案1】:

    这基本上由你来安排。

    例如,您可以在构建 firstPage 时将对 firstPage 的引用传递给 secondPage。然后第二页的setVisible方法可以调用第一页的某个方法来获取你需要的值。

    【讨论】:

    • 第二页 createControl 方法甚至在用户在第一页上做某事之前执行。如果第二页包含一个文本字段,其值应等于用户在第一个向导页面上输入的值,那么更新第二页上的文本字段的过程是什么
    • 我知道在第二页,我可以通过FirstPage firstPage = (FirstPage) (getWizard().getPage("FirstPage"));获取用户在第一页输入的文本的值但是如何使第二页的文本字段可用以显示一样。
    • 您在 FirstPage 上编写了一些额外的方法,可以在第二页的 setVisible 方法中调用。
    • 我会在 getNextPage 中使用 getContainer().run(...)。
    • WizardPage getNextPage 只是默认调用Wizard getNextPage 所以这并不重要。
    猜你喜欢
    • 2010-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多