簡體   English   中英

在GWT中處理應用程序命令

[英]Handling Application commands in GWT

Swing使用動作在多個GUI組件(例如菜單項和工具欄按鈕)之間共享功能和狀態。 XUL在其Command框架中使用了類似的方法。

處理GWT中類似要求的典型/最佳方法是什么? 我對顯示菜單項或按鈕是啟用還是禁用特別感興趣。

我使用Command類。 GWT MenuItem可以具有與之關聯的命令。 以下是一些相關的代碼片段:

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

MenuItem print = new MenuItem();

print.setCommand(printCommand);

請注意,您可以通過調用printCommand.execute()來簡單地執行printCommand。 例如,您可以具有一個ClickHandler為其調用printCommand.execute()的打印按鈕,因此它具有與上述代碼中的菜單項完全相同的效果。

現在,我知道在Swing中,動作與小部件之間存在巧妙的交互作用,因此,通過啟用或禁用動作,可以同時啟用或禁用所有小部件。 Command並沒有那么緊密地捆綁在一起,而且我認為GWT中沒有像Swing中的那種一站式啟用/禁用功能那樣的東西。 話雖如此,您也許可以擴展Command,以便以某種方式注冊使用該命令觸發該命令的窗口小部件,並且該命令具有啟用方法,該方法在被調用時會逐步瀏覽所需的窗口小部件列表,以啟用和禁用它們。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM