我在gwt中使用MenuBar控件并想要获取所选项目。我阅读了API文档API document for MenuBar,但找不到任何可以帮助我的方法。请告诉我如何捕获MenuBar的所选项目。我想在用户点击它时获取所选项目。
答案 0 :(得分:3)
你的问题的答案是命令。 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();
答案 1 :(得分:0)
我不明白为什么方法getSelectedItem()不起作用。也许是因为你想在用户点击时拥有该项目?只需使用一个命令创建您的MenuItems,该命令会向MenuBar询问选择的项目。对某些项目使用单独的命令可能更好。
尼科
答案 2 :(得分:0)
我遇到了同样的问题并解决了以下问题:
public class CustomMenuBar extends MenuBar {
public CustomMenuBar(boolean isVertical) {
super(isVertical);
}
public MenuItem getSelected() {
return super.getSelectedItem();
}
public void clearSelected() {
super.selectItem(null);
}
}
你可以检查它是否为null(如果不为null则清除它)