Я новичок в GWT и Java, пытаюсь понять, как создать синхронный (модальный) диалог в GWT, но у меня возникли трудности.Класс DialogBox имеет флаг, который говорит:
modal - true, если события клавиатуры и мыши для виджетов, не содержащихся в диалоге, должны игнорироваться
Но это не делает диалог синхронным.
Я прочитал одно предложение, в котором говорилось, что мне нужно поместить код, обрабатывающий данные диалога, введенные пользователем, в обработчик кнопки ОК.Мне это не нравится, потому что оно делает диалог ответственным за отображение данных и их обработку.Это приводит к плохому «разделению интересов» и нарушает «принцип единой ответственности» хорошего дизайна.
Я поместил код, который хочу выполнить, в обработчик кнопки ОК, и теперь хочу, чтобы мой диалог GWT использовался в двух местах в моем коде.В одном случае данные пользователя из диалогового окна добавляются в таблицу при нажатии кнопки ОК.В другом случае данные в таблице изменяются при нажатии кнопки ОК.Если бы я мог создать действительно синхронный диалог, я мог бы обработать кнопку ОК за пределами диалога, когда он вернется из выполнения, и легко использовал диалоговое окно.
Если вы вынуждены использовать мою текущую асинхронную модель, мне нужно будет передать дополнительные данные, как описано здесь .Это кажется большой работой для такой общей задачи.Я что-то пропустил?Есть ли другие варианты?