在GWT中显示微调器
问题描述:
我想知道在应用程序进行一些计算时是否可以显示微调器。在GWT中显示微调器
我正在使用滑块来修改svg图像。我调用这个函数,当MouseUp事件被触发时,这个函数使得计算修改svg图像。现在,由于图像是由许多svg路径组成的,所以需要一段时间(大约1s)直到svg图像更新;这里是我想要展示微调器的地方,让用户知道应用程序正在处理数据。顺便说一句,当我说“更新svg图像”时,我实际上删除了当前的svg路径,并为DOM添加了新的路径。
我创建了一个小部件来显示微调,它扩展了类。我读过这个来处理一个小部件,它必须先被添加到DOM中,所以我在View的构造函数(我使用MVP)中创建并隐藏了这个小部件,所以当应用程序正在处理时,我只需要调用show()函数。
是否有可能实现我想要的?
答
如果你可以将你的1s处理分成20个0.05s的工作,那么你绝对可以做到这一点。算法!
1:显示你的甩干过程图形在一个弹出
2:使用Scheduler.scheduleDeferred
安排工作
3的第一个/下一个0.05秒:在延迟代码的末尾,则转到步骤2并安排下一部分工作
4:完成所有工作后,隐藏旋转进度图形!
通过调度小块的工作,你给浏览器有机会做其他任务 - 动画微调,接收输入等。如果你只是做一个大循环,需要1秒来执行,没有那些其他的事情可能会在此期间发生。