2012-03-08 77 views
0

我一直在GWT中进行一个项目,为此我需要显示一个加载图像,如“Please Wait ...”。在GWT中加载图片

我能够解决这个问题,直到页面加载。但在历史令牌更改期间,我无法显示相同的内容。我创建了一个分工如下图所示,

<div id="loader"> 
      <div id="loaderPanel"> 
      </div> 
      <div id="loaderImage"> 
       <div id="loaderText"> 
        <b>Please Wait...</b> 
       </div> 
       <img src="images/loader.gif"/> 
      </div> 
     </div> 

而且,这里是我的CSS

#loaderPanel { 
    background-color: white; 
    display: block; 
    height: 100%; 
    left: 0; 
    opacity: 0.8; 
    position: fixed; 
    top: 0; 
    width: 100%; 
    z-index: 1001; 
} 


#loaderImage { 
    background-color: transparent; 
    left: 48%; 
    position: fixed; 
    top: 48%; 
    z-index: 1002; 
} 

#loaderImage img{ 
    height:22px; 
    margin-left:4px; 
    margin-top:0px; 
    width:119px; 
} 

#loaderText{ 
    font-family:'Verdana'; 
    font-weight:bold; 
    font-size:0.9em; 
    float:left; 
} 

这是我用来做DIV可见&无形的一段代码。

DOM.getElementById("loader").getStyle().setDisplay(Display.NONE); 
DOM.getElementById("loader").getStyle().setDisplay(Display.BLOCK); 

任何人都可以请建议我一个更好的方式,以示对历史变迁加载GIF图像?

回答

0

我得到了答案,

它不显示加载图像,因为执行本地速度要快得多。但是当涉及到生产模式时,我发现,它显示了一段时间的加载图像。

由于我的客户严格需要显示加载程序,他建议我添加一个小的延迟。所以我在Timer Scheduled中添加了延迟。当它显示加载程序时,我做了页面中使用的图像和其他对象的预先获取。

所以我记住我的问题是关闭 ...

0

你应该实现HistoryListener并显示在onModuleLoad()方法被调用的GIF:

http://google-web-toolkit.googlecode.com/svn/javadoc/1.5/com/google/gwt/user/client/History.html

+0

我使用的MVP模式这一点。那么给模块加载方法是否灵活? – 2012-03-08 07:22:46

+0

我目前使用 ValueChangeHandler和OnValueChanged()来处理历史更改。 – 2012-03-08 07:25:03

+0

但是HistoryListener不推荐使用,所以你能告诉我如何使用ValueChangeHandler()方法实现 – 2012-03-08 07:26:56