user-interface - 如何在 vanilla GWT 中的模式对话框后面屏蔽当前页面?

标签 user-interface gwt authentication

我已经构建了一个登录组合,它在我的应用程序入口点中显示给用户。输入用户名和密码后,我通过 RemoteService 将用户名和密码发送到服务器,并将收到包含 ClientSession 的对象。如果 ClientSession 是有效对象(已识别的用户名和密码),我希望显示主应用程序面板,否则我想再次显示登录对话框(带有错误消息)。

我的问题是,在对服务器的异步调用期间,如何屏蔽屏幕以使用户在从服务器获取 session 时无法单击任何内容?

我知道登录应该很快,但是 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

关于user-interface - 如何在 vanilla GWT 中的模式对话框后面屏蔽当前页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3119088/

相关文章:

user-interface - Flutter tabBar如何上下变化

python - 交互式图形可视化

java - 用于创建工程图的库/语言

java - 如何设置 SSL

java - DataSource.getInheritsFrom() 失败并出现 ClassCastException

security - 注销时使 JWT 失效?

laravel - 如何在没有 auth :api middleware in laravel 5. 3 的情况下对用户进行身份验证?

javascript - git apply --recount 对我不起作用

java - gwt 序列化策略托管模式不同步

java - 我应该在android中添加一个确认密码字段吗?