1

好的,对于标签,我们得到了ClickHandler,即当我们点击标签时它会做一些事情。

但是我想为标签做一些像Right-ClickHandler这样的事情,即当用户右键单击标签时,它会做一些事情。

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

每个标签都必须放入甲板面板吗?

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

4

1 回答 1

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())

继续阅读 ....

于 2013-04-26T07:31:55.137 回答