Can';t从一个选项卡切换到另一个java GWT时保存值

Can';t从一个选项卡切换到另一个java GWT时保存值,java,gwt,tabs,Java,Gwt,Tabs,我有这个登录/注册应用程序。注册部分由两部分组成。(带有两个选项卡的选项卡面板)。第一个选项卡检查电子邮件,如果有效,则解锁第二个选项卡。第二个选项卡是实际注册表的位置 我想使用第一个选项卡中的电子邮件作为第二个选项卡中的电子邮件,因此用户只能注册该电子邮件,因此它不可编辑。 但问题是电子邮件在第二个选项卡中不可见。为什么会这样 // variable declaration private static String email; // constructor public Register

我有这个登录/注册应用程序。注册部分由两部分组成。(带有两个选项卡的选项卡面板)。第一个选项卡检查电子邮件,如果有效,则解锁第二个选项卡。第二个选项卡是实际注册表的位置

我想使用第一个选项卡中的电子邮件作为第二个选项卡中的电子邮件,因此用户只能注册该电子邮件,因此它不可编辑。 但问题是电子邮件在第二个选项卡中不可见。为什么会这样

// variable declaration
private static String email;

// constructor
public RegisterViewImpl() {

    Widget tabBar = createRegistrationForm();
    tabPanel.add(tabBar);

    initWidget(tabPanel);
}


private static Widget createRegistrationForm() {

    TabPanel tabPanel = new TabPanel();

    // Create the e-mail tab
    Widget emailCheckerWidget = createEmailChecker();
    tabPanel.add(emailCheckerWidget, RegistrationFormConstants.CHECK_EMAIL_TAB);

    // Create the Personal Information Tab
    Widget personalInformationWidget = createPersonalInformationWidget();
    tabPanel.add(personalInformationWidget, RegistrationFormConstants.DETAILS_TAB);

...
}

private static Widget createEmailChecker() {

...

submitButton.addClickHandler(new ClickHandler() {

        @Override
        public void onClick(ClickEvent event) {
            // this is how I save my email
            email = emailBox.getText();
            checkIfEmailExists(email);
            emailBox.setText(null);
        }
    });
...
}




private static Widget createPersonalInformationWidget() {

...

// E-Mail Address
Label emailAddress = new Label("E-Mail Address");
final TextBox emailBox = new TextBox();
// this is how I want ot set it
emailBox.setText(email);
emailBox.setEnabled(false);
emailBox.setStyleName("fixed-input");

...
}
您可以在用户输入其电子邮件之前创建表单。因此,您的表单没有显示它<代码>emailBox.setText(电子邮件)应在用户单击submit按钮后调用