2013-04-26 26 views
1

好的,對於標籤,我們得到了ClickHandler,即當我們點擊標籤時它會做一些事情。Gwt,如何編碼標籤的Right-ClickHandler?

但我想要做一些類似Right-ClickHandler的標籤,也就是說,當用戶右鍵單擊標籤時,它會執行一些操作。

有人說把小部件放到DeckPanel &上做RightClick Hanler就可以了。但是,如果我們有很多標籤,那麼每個標籤都必須放在卡座面板上嗎?

如果是這種情況,那麼代碼可能很複雜,所以我想爲標籤執行RightClick處理程序,就像我正常使用ClickHandler一樣。怎麼辦?

回答

6

我強烈推薦this example(這是有點老,但正確的方式來處理上下文菜單)。

lable.sinkEvents(Event.ONCONTEXTMENU); 
    lable.addHandler(
     new ContextMenuHandler() { 
     @Override 
     public void onContextMenu(ContextMenuEvent event) { 
      event.preventDefault(); 
      event.stopPropagation(); 
      popupMenu.setPopupPosition(    //custom menu here 
      event.getNativeEvent().getClientX(), 
      event.getNativeEvent().getClientY()); 
      popupMenu.show(); 
    } 
    }, ContextMenuEvent.getType()) 

Continue reading ....

+0

Thax你非常Baadshah! 這樣一個非常簡單但非常有效的代碼。 – Tom 2013-04-26 07:59:50

+0

很高興幫助:)歡呼聲。 – 2013-04-26 08:04:15