如何使用 GWT 实现进度条?

Posted

技术标签:

【中文标题】如何使用 GWT 实现进度条?【英文标题】:How to Implement progressbar with GWT? 【发布时间】:2011-08-01 17:33:35 【问题描述】:

在 GWT 应用程序中,我有一个运行服务器端并使用 rpc(GWT 调度程序)调用的长进程,我希望将反馈作为显示消息和总进度的进度条给客户端。 我的问题是如何从服务器动态恢复消息和进度?

我对任何解决方案都感兴趣

提前感谢您的帮助。

【问题讨论】:

【参考方案1】:

查看incubator 中的获取进度条。 Here 是另一个使用它的例子。


更新

如果要在客户端显示进度,则需要定期对服务器进行异步调用以获取进度值。换句话说,服务器需要在某处写入/存储它的进度有多远。客户端然后对服务器进行异步调用,服务器读取该值并将其发送回客户端,客户端可以更新进度条。

【讨论】:

谢谢你的回答其实我的问题不在于进度条组件,而是如何从服务器检索值以便能够在进度条中动态主题 这肯定已经死了。它甚至不会出现在 GWT 设计器中,并且会给出错误 The import com.google.gwt.widgetideas cannot be resolved。请改用java2s.com/Code/Java/GWT/GWTprogressbar.htm。 @Chloe - 哇,投反对票,因为超过一年的答案不再适用......干得好...... 最佳答案似乎不正确。随机用户会期望最正确的答案位于顶部。 @Chloe - 你知道 gwt 孵化器是什么吗?这是一个社区可以提交可能进入主干的代码的地方。源仍然在链接中可用并且可以使用。仅仅因为它没有在设计器中“出现”并不意味着它不能被使用......【参考方案2】:

一个常规的异步调用应该可以做到这一点。但是您还需要从客户端实现某种轮询机制,以便它定期向服务器发送异步请求。

查看有关异步调用的教程 http://code.google.com/webtoolkit/doc/latest/tutorial/RPC.html

对于轮询机制,您应该可以使用简单的 while 循环来完成。在 while 循环中,继续调用 getStatus() 服务器调用,直到达到 100% 完成状态。

【讨论】:

【参考方案3】:

或者您可以使用 Channel API。它在 Python 和 Java 中都可用(可能还有其他受支持的叶猴)。 https://developers.google.com/appengine/docs/java/channel/

【讨论】:

【参考方案4】:

看看upload4gwt中的progress syncer和progress bar可能会给你一些想法。

【讨论】:

【参考方案5】:

http://www.java2s.com/Code/Java/GWT/GWTprogressbar.htm

您必须使用计时器定期轮询服务器,并将进度计算保留在服务器上。

【讨论】:

以上是关于如何使用 GWT 实现进度条?的主要内容,如果未能解决你的问题,请参考以下文章

如何实现带有进度条的启动画面? - 安卓

如何实现Spring MVC 图片上传时,图片如何代替进度条?

文件上传和进度条

圆形进度条,如何实现这一目标

使用volley时如何保持进度条状态?

如何实现弧形的进度条或SeekBar