Обработка команд приложения в GWT - PullRequest
0 голосов
/ 07 октября 2011

Swing использует Actions для обмена функциональностью и состоянием между несколькими компонентами GUI, такими как пункты меню и кнопки Toobar. XUL использует аналогичный подход со своей структурой Command.

Каковы типичные / лучшие подходы для обработки аналогичных требований в GWT? Мне особенно интересно показать, включен ли пункт меню или кнопка.

1 Ответ

1 голос
/ 07 октября 2011

Я использую класс Command.GWT MenuItems может иметь команду, связанную с ними.Вот некоторые соответствующие фрагменты кода:

Command printCommand = new Command() {
      @Override
      public void execute() {
        myEventBus.fireEvent(new PrintEvent());
      }
    };

MenuItem print = new MenuItem();

print.setCommand(printCommand);

Обратите внимание, что вы можете заставить printCommand просто выполнить вызов printCommand.execute ().Например, у вас может быть кнопка печати, для которой ClickHandler вызывает функцию printCommand.execute (), поэтому она имеет тот же эффект, что и пункт меню в приведенном выше коде.

Теперь я знаю, что в Swing естьумное взаимодействие между действием и виджетом, чтобы все виджеты включались или отключались одновременно путем включения или отключения действия.Команда не так тесно связана, и я не думаю, что в GWT есть что-то похожее на то, что у вас есть в Swing, для такого рода функции универсального включения / выключения.Сказав это, вы можете расширить Command так, чтобы вы каким-то образом регистрировали виджеты, которые запускают эту команду, с помощью команды, и команда имеет метид включения, который при вызове просматривает список виджетов, включая и отключая их по мере необходимости.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...