【发布时间】: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上添加垂直面板”的示例代码