2014-09-23 86 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類細看)。

我希望它有幫助。

相關問題