Java 如何将EventListener添加到gwt画布绘图?

Java 如何将EventListener添加到gwt画布绘图?,java,gwt,java-canvas,Java,Gwt,Java Canvas,如果我在GWT画布上绘制一个形状(矩形、圆形等),如何向该图形中添加一个事件侦听器,如MouseClick、MouseOver等 Canvas canvas = Canvas.createIfSupported(); Context2d context = canvas.getContext2d(); context.beginPath(); context.moveTo(..; context.lineTo(..); //... context.st

如果我在GWT画布上绘制一个形状(矩形、圆形等),如何向该图形中添加一个事件侦听器,如MouseClick、MouseOver等

   Canvas canvas = Canvas.createIfSupported();
   Context2d context = canvas.getContext2d();

   context.beginPath();
   context.moveTo(..;
   context.lineTo(..);
   //...
   context.stroke();       
   context.fill(); 

如何仅检测此图形上的点击?

画布提供光栅图形,但不了解您的图形。所以你有两个选择:

  • 将事件监听器添加到整个画布,并使用一些函数来确定(x;y)事件点是否属于您的图形

  • 改用SVG。使用SVG,您可以创建矢量图形并向其添加侦听器


  • 请指定是要将侦听器添加到整个画布还是仅添加到绘制的图形。不,仅添加到图形。添加到整个画布不会有问题。