Gwt,如何编写Right-ClickHandler for Label?

Tom*_*Tom 1 gwt label right-click handler

好的,对于标签,我们得到了ClickHandler,也就是说,当我们点击标签时它会做一些事情.

但我想做一些类似于Right-ClickHandler for Label的东西,即当用户右键单击标签时,它会做一些事情.

有人说将小部件放入DeckPanel并在其上执行RightClick Hanler.但是,如果我们有很多标签,那么

每个标签是否必须放入甲板面板?

如果是这种情况,那么代码可能很复杂,所以我想为标签执行RightClick处理程序,就像我使用普通的ClickHandler一样.怎么办?

Sur*_*tta 6

我强烈推荐这个例子(这有点旧,但处理上下文菜单的正确方法).

   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())
Run Code Online (Sandbox Code Playgroud)

继续阅读 ....