2012-01-12 140 views
1

我想显示一个表示加载的gif(一个旋转轮)。我的方法是:GWT:处理消息?

public void load() { 
    loadIndicator.setVisible(true); 
    ... the loading code ... 
    loadIndicator.setVisible(false); 
} 

但这不起作用。我想这是因为元素只在流程结束时重新绘制。有没有像redraw或类似的其他语言(C#)Application.Doevents或类似的东西?或者我使用了错误的方法

回答

1

大多数从服务器加载内容的代码都是异步执行的。这意味着所有load()方法都可以在“加载代码”完成之前运行 - 加载指示符变为可见,加载开始(但未完成),指示器再次消失。这是部分完成的,无需担心在允许更多用户交互之前等待服务器。

几乎所有的GWT代码都不需要重绘方法。事件是让您的应用围绕异步流程设计的好主意。

有用的线索,了解编写代码异步:http://groups.google.com/group/Google-Web-Toolkit/browse_thread/thread/faca1575f306ba0f/3be719c021aa19bd

+0

+1这是一个真棒异步例子。 – TJR 2012-01-12 23:18:26