【问题标题】:How I can control flow of execution in GWT?我如何控制 GWT 中的执行流程?
【发布时间】:2018-12-05 12:53:42
【问题描述】:
如果你曾经使用过 Window.alert("msg"); GWT 中的 API 以显示弹出窗口,我不确定,但调用此 API 会暂停代码执行,直到采取用户操作(单击确定按钮),类似于我创建了一个自定义弹出窗口,当它显示时我不'不希望代码进一步执行,直到在弹出窗口中收到任何用户输入,我如何才能进一步暂停代码执行?
认为 :-
//一些代码
我的弹出窗口(在这里我想等到收到用户操作。)
//一些代码
我在某处读到使用同步关键字,但这也不起作用,您对此有答案吗? GWT 编译器如何看到“Synchronized”关键字是否忽略了关键字?
【问题讨论】:
标签:
java
gwt
gwt-rpc
gwt2
【解决方案1】:
创建类似 ConfirmCallBack 的东西,当您在弹出面板中单击“确定”按钮(或其他)时触发它。
//method in your own popup class
public static void confirm(String message, ConfirmCallBack confirmCallBack)
{
Button confirmButton = new Button(confirmButtonText, event ->
{
confirmCallBack.callback(true);
//hide popup
});
}
比还有 ConfirmCallBack 接口之类的
public interface ConfirmCallBack
{
void callback(boolean result);
}
然后调用你自己的弹出窗口
MyPopup.confirm("Hello world", result ->
{
if (result)
{
//my code to be executed after clicking the ok button
}
}