如何避免在WizardPage中处理字段

时间:2014-12-02 15:14:40

标签: eclipse swt eclipse-rcp jface

我有一个向导,有两个向导页面。 在每个页面上我有控件,在第2页上我有一些文本字段, 在我的控制器中我想要访问它们,如下所示:

f2.setCantSurcos(Integer.getInteger(wizard.getTxtCantsurcos()));

其中向导方法是第2页的包装器:     public String getTxtCantsurcos(){         return this.page2.getTxtCantsurcos();     }

问题是该方法抛出了这个错误: "窗口小部件被处理"

我想这是因为我试图直接访问小部件:

public String getTxtCantsurcos() {
    return txtCantsurcos.getText();
}

如果我正确,我应该将Text字段的内容移动/复制到String属性。 但是,当用户点击Next Button时如何做到这一点?

祝你好运。 尼科

2 个答案:

答案 0 :(得分:0)

请勿尝试等待点击下一个按钮。

使用addModifyListener为每个文本控件添加修改侦听器,并在修改文本时将值保存在字符串中。

您还可以使用JFace'数据绑定'对于这种事情。

答案 1 :(得分:0)

由于我无法对Greg的帖子发表评论,我发布了一个答案: 以下是一个简单数据绑定示例的片段:

http://git.eclipse.org/c/platform/eclipse.platform.ui.git/plain/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet014WizardDialog.java