如何使用GWT实现进度条?

时间:2011-08-01 17:33:36

标签: java gwt progress-bar rpc gwt-rpc

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

我对任何解决方案感兴趣

提前感谢您的帮助。

5 个答案:

答案 0 :(得分:2)

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


更新

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

答案 1 :(得分:1)

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

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

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

答案 2 :(得分:1)

或者您可以使用Channel API。它有Python和Java两种版本(也可能是其他支持的语言版本)。 https://developers.google.com/appengine/docs/java/channel/

答案 3 :(得分:0)

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

答案 4 :(得分:0)

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

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