gwt 中的菜单栏

Posted

技术标签:

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

我在 gwt 中使用 MenuBar 控件并想要获取所选项目。我阅读了 API 文档API document for MenuBar,但找不到任何可以帮助我的方法。请告诉我如何捕获 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);
    

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

【讨论】:

以上是关于gwt 中的菜单栏的主要内容,如果未能解决你的问题,请参考以下文章

Python Qt GUI设计:菜单栏工具栏和状态栏的使用方法(拓展篇—2)

Python Qt GUI设计:菜单栏工具栏和状态栏的使用方法(拓展篇—2)

在PyQt中构建 Python 菜单栏菜单和工具栏

菜单栏未在 python 中定义

[Python] wxPython 菜单栏控件学习总结(原创)

Bootstrap 3.0 响应式菜单栏切换问题..当增加菜单栏中的内容时