2013-01-22 48 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