我是使用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);
我甚至尝试使用MouseOutEvent
,但它没有检测到点击。我可以通过点击返回legal label
删除它。但我需要在检测到屏幕上的点击时删除它。请指教。
答案 0 :(得分:1)
GWT有一个名为PopupPanel的面板,可以自动处理您想要的行为。 引用javadoc:
“PopupPanel的构造函数将'auto-hide'作为其布尔参数。 如果设置了此选项,则当用户点击它时,面板会自动关闭。“
是否可以在PopupPanel中显示弹出菜单?
答案 1 :(得分:-1)
查看this GWT样本。这似乎有你描述的行为。它附带源代码。
或者,您可以尝试处理菜单小部件上的blur event。