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 中的菜单栏的主要内容,如果未能解决你的问题,请参考以下文章

GWT:如何在鼠标事件上更改菜单栏图像?

GWT 菜单栏上的 getSelectedItem()

如何在屏幕点击时删除 GWT 菜单栏?

在 GWT 中,如何调整菜单项的大小以使其仅限于菜单栏

在 Google Web Toolkit (GWT) 中实现页眉、页脚和菜单栏

菜单栏中的菜单项未激活,无法选择或单击