【问题标题】:GWT RootPanel not interactingGWT RootPanel 没有交互
【发布时间】:2012-08-11 12:24:24
【问题描述】:

我已经创建了登录类:

public class LoginPage extends VerticalPanel implements ClickHandler {

ApplicationMethods appMthd;
private RootPanel rootPanel;
TextBox txtUserEmail;
PasswordTextBox txtPassword;

Button btnLogin;

String strEmail, strPass;

public LoginPage(ApplicationMethods appMthd) {

    this.appMthd = appMthd;

    rootPanel = RootPanel.get();
    rootPanel.setSize("320", "480");

    btnLogin = new Button("Login");
    btnLogin.setText("Login");
    rootPanel.add(btnLogin, 224, 256);
    btnLogin.setSize("79px", "35px");
    btnLogin.addClickHandler(this);


    txtUserEmail = new TextBox();
    rootPanel.add(txtUserEmail, 36, 161);
    txtUserEmail.setSize("240px", "20px");


    txtPassword = new PasswordTextBox();
    rootPanel.add(txtPassword, 36, 207);
    txtPassword.setSize("240px", "20px");
    }

@Override
public void onClick(ClickEvent event) {
    // TODO Auto-generated method stub

    if(event.getSource() == btnLogin)
    {
        strEmail = txtUserEmail.getText().toString();
        strPass = txtPassword.getText().toString();

        appMthd.onLogin(strEmail, strPass);
    }
    else
    {
        Window.alert("Coming Soon..!!");
    }
}

}

但我无法访问任何文本框或单击按钮。 因为Parent类是RootPanel。

如果我正在使用:

add(txtUserEmail);
    add(txtPassword);
    add(btnReg);
    add(btnLogin);
    btnLogin.addClickHandler(this);

然后,它是可访问的。其中,父类为 VerticalPanel。

那么,我该如何解决 RootPanel 的这个问题?

请帮帮我。

提前致谢。

【问题讨论】:

  • 我运行您的代码(在 ie9 上)并且工作正常,我可以单击文本字段和按钮,但我认为您应该在垂直面板上添加小部件,然后添加垂直面板在 RootPanel 上,LoginPage 毕竟扩展了verticalPanel
  • 你能告诉我“你应该在垂直面板上添加小部件,然后在RootPanel上添加垂直面板”的示例代码

标签: gwt cordova


【解决方案1】:

当您使用 VerticalPanel 时,您不能指定 x,y 如果要指定 x,y,当然可以扩展 AbsolutePanel 但既然你是为移动端编程,那是件好事。

如果你想用 phonegap 和 gwt 创建移动应用程序

你应该检查mgwthello world mgwt

public LoginPage() {

    rootPanel = RootPanel.get();
    rootPanel.setSize("320", "480");
    rootPanel.add(this);

    btnLogin = new Button("Login");
    btnLogin.setText("Login");
    add(btnLogin);
    btnLogin.setSize("79px", "35px");
    btnLogin.addClickHandler(this);

    txtUserEmail = new TextBox();
    add(txtUserEmail);
    txtUserEmail.setSize("240px", "20px");

    txtPassword = new PasswordTextBox();
    add(txtPassword);
    txtPassword.setSize("240px", "20px");
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-03-10
    • 1970-01-01
    • 2010-12-24
    • 1970-01-01
    • 2010-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多