GWT:如何将事件放入队列(相当于Swing invokeLater())?

Zak*_*hol 8 java events gwt

拥有以下szenario:模糊textBox(输入)将文本写入我的状态框(在某些条件下),然后单击按钮也会将文本写入状态框.

现在当点击按钮时,如果它被聚焦,它将模糊我的textBox,这将导致status-Box闪烁,因为blurHandler首先会写入其结果,然后是clickHandler.因为我希望clickHandler的结果出现,我的想法是让blurHandler在队列末尾放置一个事件,检查clickHandler之前是否写过结果.

在Swing中我会尝试SwingUtilities .invokeLater(Runnable).GWT中的等价物被称为 调度程序,但那些延迟或最终命令似乎总是在当前事件之后和下一个事件之前运行.到目前为止,我使用Scheduler.scheduleFixedDelay延迟100ms,并希望它在每个浏览器中的clickHanlder之后.看到答案的类似问题.

我认为必须有一个更好的解决方案.如何真正将事件添加到队列的末尾,或者由于HTML的限制而无法实现?

And*_*wik 5

尝试:

Scheduler.get().scheduleDeferred(new Command() {

                        @Override

                        public void execute() {
                                .......
                        }
                });
Run Code Online (Sandbox Code Playgroud)

看到

课程安排程序