GWT自定义右键单击小部件
我需要实现的小部件,我可以右击禁用它,右击再次启用它。 我的代码如下:GWT自定义右键单击小部件,gwt,right-click,Gwt,Right Click,我需要实现的小部件,我可以右击禁用它,右击再次启用它。 我的代码如下: widget.sinkEvents(Event.ONCONTEXTMENU); widget.addHandler(new ContextMenuHandler() { @Override public void onContextMenu(ContextMenuEvent event) { event.preventDefault(); event.stopPropa
widget.sinkEvents(Event.ONCONTEXTMENU);
widget.addHandler(new ContextMenuHandler() {
@Override
public void onContextMenu(ContextMenuEvent event)
{
event.preventDefault();
event.stopPropagation();
if (widget.isEnabled()) widget.setEnabled(false);
else widget.setEnabled(true);
}
}, ContextMenuEvent.getType());
当小部件被启用时,此功能将起作用。这意味着我可以右键单击以禁用此小部件。
但是,当小部件被禁用时,它不会触发右键单击事件
有没有办法让我的自定义右键单击在禁用的小部件上工作
谢谢,如果事件没有在禁用的小部件上触发,您可以尝试以下解决方法之一:
- 禁用小部件后,创建一个不透明度为0的标签,其尺寸与小部件相同,并使用ContextMenuHandler将其放置在小部件上,重新启用小部件并移除其自身
- 与其禁用小部件,不如将其替换为已禁用小部件的图像。 有点像黑客,但如果这是一次性的,可能会奏效
- 禁用小部件后,向其添加其他事件处理程序以重新启用它(您可以尝试MouseDown、MouseOver、Click)李>