我有一個類似的挑戰,我的部件的內容加載了幾秒鐘。我顯示「」加載中,請稍候......「」標籤,直到控件加載:
final VerticalPanel mainPanel = new VerticalPanel();
initWidget(mainPanel);
mainPanel.add(new Label("Loading, please wait ..."));
mainPanel.add(new myCustomWidget()); // this constructor uses RPC to get content
Timer t = new Timer()
{
public void run()
{
if (!mainPanel.getWidget(1).isVisible()) {
// do nothing
} else {
// remove label "Loading, please wait ..."
mainPanel.remove(0);
// stop timer
cancel();
}
}
};
// repeat every 30 miliseconds until myCustomWidget is visible
t.scheduleRepeating(30);
它給很多代碼,我有佈局的TabPanel,並有接取到面板的http:// GWT-EXT包含我的表單的.com/docs/2.0.4/com/gwtext/client/widgets/Panel.html,你如何在香草中刷新你的小部件;以及如何使繼續,你阻止所有的應用程序while(!result){}? – Sergey 2013-05-14 13:50:13
刷新通常只能在特定的小部件(如表或列表)上執行。所以如果你的表單沒有刷新/重繪方法,它不應該需要一個。 – Ben 2013-05-14 14:04:19
要延遲其他代碼,可以將它放入新方法中,並在onSuccess方法中調用它。新方法可能包括創建該表單及其與面板的附件。 – Ben 2013-05-14 14:05:53