如何删除屏幕上的GET菜单栏单击?

时间:2013-01-22 20:33:34

标签: java events gwt menubar

我是使用GWT的初学者。我有一个menubar弹出Label click。我需要在用户点击屏幕上的任何地方时删除它,除了导致它显示的标签(法律)我尝试了各种方法,例如挂钩此事件

RootPanel.get().addDomHandler(clickDetectHandler, ClickEvent.getType());

public void onClick(ClickEvent event) {
            Object source = event.getSource();
            if (!(source instanceof MenuBar))
                  panel.remove(menu);

enter image description here

我甚至尝试使用MouseOutEvent,但它没有检测到点击。我可以通过点击返回legal label删除它。但我需要在检测到屏幕上的点击时删除它。请指教。

2 个答案:

答案 0 :(得分:1)

GWT有一个名为PopupPanel的面板,可以自动处理您想要的行为。 引用javadoc:

“PopupPanel的构造函数将'auto-hide'作为其布尔参数。  如果设置了此选项,则当用户点击它时,面板会自动关闭。“

是否可以在PopupPanel中显示弹出菜单?

http://google-web-toolkit.googlecode.com/svn/javadoc/2.5/com/google/gwt/user/client/ui/PopupPanel.html

答案 1 :(得分:-1)

查看this GWT样本。这似乎有你描述的行为。它附带源代码。

或者,您可以尝试处理菜单小部件上的blur event