如何控制GWT中的执行流程?

时间:2018-12-05 12:53:43

标签: java gwt gwt-rpc gwt2

如果您曾经使用过Window.alert(“ msg”); GWT中的API显示弹出窗口,我不确定,但是对该API的调用会暂停代码执行,直到采取了用户操作(单击“确定”按钮)为止,与此类似,我已经创建了一个自定义弹出窗口,当显示时我不这样做在弹出窗口上收到任何用户输入之前,不希望代码进一步执行,我如何进一步暂停代码执行? 假设:- //一些代码

我的弹出窗口(我想在这里等到收到用户操作为止。)

//某些代码

我在某处阅读过使用同步关键字,但是那也不起作用,您对此有答案吗? GWT编译器如何看待“ Synchronized”关键字,它会忽略该关键字吗?

1 个答案:

答案 0 :(得分:2)

创建类似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
  });
}

还有类似的ConfirmConBack接口

public interface ConfirmCallBack
{
   void callback(boolean result);
}

然后像这样调用自己的弹出窗口

MyPopup.confirm("Hello world", result ->
{
   if (result)
   {
      //my code to be executed after clicking the ok button
   }
}