developerlife and google groups
If you're to lazy to read those, here is an extremely short tutorial:
1. Place this div on your html (tip: you can generate your own loading gif here):
<div id="initialLoading">
<img src="images/ajax-loader.gif" alt="loading ..." />
</div>
2. In your app's entry point add this line to remove the div when the app is actually loaded:
DOM.removeChild(RootPanel.getBodyElement(), DOM.getElementById("initialLoading"));
that's all