我有一个类似的挑战,我的部件的内容加载了几秒钟。我显示“”加载中,请稍候......“”标签,直到控件加载:
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