2014-09-23 42 views
3

我有一个VerticalLayout,并在其中添加了一个图像组件。有时候,当我们连接不好时,我发现这个图像缓慢加载。所以,我有一个想法,在完全加载后显示此图像,并且我想在加载时显示一些加载gif。如何检测图像何时完全加载?

由于我使用的GWT,我用LoadHandler针对这种情况,如下

fullSizeImage.addLoadHandler(new LoadHandler() { 
     public void onLoad(final LoadEvent event) { 
      loadingImage.setVisible(false); 
     } 
}); 

上面的代码会显示我的加载GIF图像,而我实际的图像加载,它会隐藏,当我acutal形象是完全读取。我怎样才能知道它在Vaadin

回答

2

Vaadin在服务器端,其组件实际上并没有所有可能的GWT方法。因此,当您创建图像组件时,它会连接到父级VerticalLayout。然后,图像由客户端的服务器请求加载。

我认为没有办法来创建一个自定义Vaadin小部件 - 或扩展现有的功能 - 它实现了上面的GWT代码。请注意,加载gif应该被客户端预取并缓存,以在组件被连接时立即显示。

1

您可以使用Upload组件尝试。它提供了一些有助于监控上载过程(启动/进度/完成)的功能。

Here是一个官方的例子,如何使用Upload.ReceiverUpload.StartedListenerUpload.SucceededListener接口(需要在ImageReceiver类细看)。

我希望它有帮助。

相关问题