好的,对于标签,我们得到了ClickHandler,也就是说,当我们点击标签时它会做一些事情。
但我想做一些类似于Right-ClickHandler for Label的东西,即当用户右键点击标签时,它会做一些事情。
有人说将小部件放入DeckPanel&在它上面做RightClick Hanler。但如果我们有很多标签,那么
是否必须将每个标签放入甲板面板?
如果是这种情况那么代码可能很复杂,所以我想为标签做RightClick处理程序,就像我正常的ClickHandler一样。怎么办?
答案 0 :(得分: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 .... 强>