拥有以下szenario:模糊textBox(输入)将文本写入我的状态框(在某些条件下),然后单击按钮也会将文本写入状态框。
现在当点击按钮时,如果它被聚焦,它将模糊我的textBox,这将导致status-Box闪烁,因为blurHandler首先会写入其结果,然后是clickHandler。 因为我希望clickHandler的结果出现,我的想法是让blurHandler在队列末尾放置一个事件,检查clickHandler之前是否写过结果。
在Swing中我会尝试SwingUtilities。invokeLater(Runnable)。 GWT中的等价物被称为Scheduler,但那些延迟或最终命令似乎总是在当前事件之后和下一个事件之前运行。 到目前为止,我使用Scheduler.scheduleFixedDelay延迟100ms,并希望它在每个浏览器中的clickHanlder之后。 请参阅类似的problem和答案。
我认为必须有一个更好的解决方案。 如何真正将一个事件添加到队列的末尾,还是由于HTML的限制而无法实现?
答案 0 :(得分:5)
尝试:
Scheduler.get().scheduleDeferred(new Command() {
@Override
public void execute() {
.......
}
});
见