Как я могу контролировать поток выполнения в GWT? - PullRequest
0 голосов
/ 05 декабря 2018

Если вы когда-либо использовали Window.alert ("msg");API в GWT для показа всплывающего окна, я не уверен, но вызов этого API приостанавливает выполнение кода до тех пор, пока не будет выполнено действие пользователя (щелкнув по кнопке ОК), схоже с тем, что я создал всплывающее окно, когда оно отображаетсяне хочу, чтобы код выполнялся до тех пор, пока какой-либо пользовательский ввод не будет получен во всплывающем окне. Как я могу приостановить выполнение кода дальше?Предположим: - // Некоторый код

МОЕ всплывающее окно (Здесь я хочу дождаться получения действия пользователя.)

// Некоторый код

Я читаю где-нибудь, чтобы использоватьСинхронизированное ключевое слово, но это тоже не сработало, у вас есть ответ на это.Как GWT-компилятор видит ключевое слово "Synchronized", игнорирует ли оно ключевое слово?

1 Ответ

0 голосов
/ 05 декабря 2018

Создайте что-то вроде 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
   }
}
...