【问题标题】:Menu bar in gwtgwt 中的菜单栏
【发布时间】:2011-06-28 04:50:09
【问题描述】:

我在 gwt 中使用 MenuBar 控件并想要获取所选项目。我阅读了 API 文档API document for MenuBar,但找不到任何可以帮助我的方法。请告诉我如何捕获 MenuBar 的选定项。我想在用户单击它时获取选定项。

【问题讨论】:

    标签: gwt menubar


    【解决方案1】:

    您的问题的答案是命令。 http://google-web-toolkit.googlecode.com/svn/javadoc/2.3/com/google/gwt/user/client/Command.html.

    当您将一个项目添加到菜单栏(或其任何子项)时,您指定

     Command helloCmd = new Command() {
       public void execute() {
         Window.alert("Hello");
       }
     };
    addItem("Hello", helloCmd);
    

    menuItem.setCommand(helloCmd);
    

    您也可以独立于任何菜单项执行命令:

     helloCmd.execute();
    

    【讨论】:

      【解决方案2】:

      我不明白为什么 getSelectedItem() 方法不起作用。也许是因为您想在用户单击时拥有该项目?只需使用询问 MenuBar 选择了哪个项目的命令来创建您的 MenuItems。也许对某些项目使用单独的命令可能会更好。

      尼哥

      【讨论】:

        【解决方案3】:

        我也遇到了同样的问题,解决方法如下:

        public class CustomMenuBar extends MenuBar {
        
            public CustomMenuBar(boolean isVertical) {
                super(isVertical);
            }
        
            public MenuItem getSelected() {
                return super.getSelectedItem();
            }
        
            public void clearSelected() {
                super.selectItem(null);
            }
        }
        

        你可以检查它是否为空(如果不是空则清除它)

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-08-10
          • 2011-08-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多