如果您曾经使用过Window.alert(“ msg”); GWT中的API显示弹出窗口,我不确定,但是对该API的调用会暂停代码执行,直到采取了用户操作(单击“确定”按钮)为止,与此类似,我已经创建了一个自定义弹出窗口,当显示时我不这样做在弹出窗口上收到任何用户输入之前,不希望代码进一步执行,我如何进一步暂停代码执行? 假设:- //一些代码
我的弹出窗口(我想在这里等到收到用户操作为止。)
//某些代码
我在某处阅读过使用同步关键字,但是那也不起作用,您对此有答案吗? GWT编译器如何看待“ Synchronized”关键字,它会忽略该关键字吗?
答案 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
}
}