Chr*_*ris 3 user-interface gwt login
我已经构建了一个登录组合,我在我的应用程序入口点显示给用户.在输入用户名和密码后,我将通过RemoteService将用户名和密码发送到服务器,并将收到包含ClientSession的对象.如果ClientSession是有效对象(已识别的用户名和密码),我希望显示主应用程序面板,否则我想再次显示登录对话框(带有错误消息).
我的问题是,在异步调用服务器期间,如何屏蔽屏幕,以便用户在从服务器获取会话时无法点击任何内容?
我知道登录应该很快,但Session对象包含用于生成主面板的当前用户的许多客户端缓存值.这可能需要几分之一秒或最多5秒(遗憾的是我无法控制底层基础设施的速度)所以我想屏蔽屏幕直到达到超时然后允许用户再次尝试.
在使用GWT Ext之前我已经完成了这个确切的操作,但不幸的是,vanilla GWT似乎有更少的样本.
谢谢
克里斯
GWT类PopupPanel有一个可选的"玻璃面板",可阻止与下面页面的交互.
final PopupPanel popup = new PopupPanel(false, true); // Create a modal dialog box that will not auto-hide
popup.add(new Label("Please wait"));
popup.setGlassEnabled(true); // Enable the glass panel
popup.center(); // Center the popup and make it visible
Run Code Online (Sandbox Code Playgroud)