2013-01-22 46 views
3

我是使用GWT的初学者。我有一个menubar,它弹出一个Label click。我需要将其删除,当用户点击屏幕上的任何地方,除了这导致它显示(法律)我试着像如何在屏幕上点击删除GWT菜单栏?

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删除它。但我需要在检测到屏幕上出现点击时将其删除。请指教。

+0

如果条件表明它应该被删除,如果点击在MenuBar上。 – Sednus

+0

你的意思是,当你点击法律时,包括多伦多,芝加哥在内的垂直面板变得可见,而当你点击其他地方时,你想让它消失吗? – Swapnil

+0

@Swapnil正好。它是一个GWT菜单栏。在合法的点击处理程序上,我在流程面板中添加了菜单栏。 Legal也是同一个流程面板的标签 – DarknessBeginsHere

回答

-1

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

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

+0

这并不能解决问题 – Brian