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