这是我的 GWT 应用程序中的伪代码。
- 可见加载标签 - 从属性文件加载文本(可能需要很长时间) - 不可见加载标签 & 可见主 HTMLPanel
所以我想用它Scheduler.get().scheduleDeferred
来实现,这里是代码:
loadingLabel.setVisible(true);
Scheduler.get().scheduleDeferred(new ScheduledCommand() {
@Override
public void execute() {
loadingText();
}
}
loadingLabel.setVisible(false);
mainHTMLPanel.setVisible(true);
但它不能正常工作,因为它没有显示 loadingLabel 而是立即显示 mainHTMLPanel 并且当我单击 mainHTMLPanel 内的文本框时,因为 Gui 被冻结了,因为它正在加载文本。然后我必须等待一段时间才能单击 mainHTMLPanel 中的文本框。
但是如果我把loadingLabel.setVisible(false);
&mainHTMLPanel.setVisible(true);
放在里面,execute()
那么它就可以工作了。
但我不确定这是正确的做法。
那么,下面的代码是正确的使用方式Scheduler.get().scheduleDeferred
吗?
loadingLabel.setVisible(true);
Scheduler.get().scheduleDeferred(new ScheduledCommand() {
@Override
public void execute() {
loadingText();
loadingLabel.setVisible(false);
mainHTMLPanel.setVisible(true);
}
}