0

我迫切需要能够使用放置在绘图表面前的功能性 GWT 小部件,如下所示:

absolutePanel.add(canvas); //drawing surface, for drawing other things
absolutePanel.setWidgetPosition(canvas, 0, 0);
absolutePanel.add(myWidget);
absolutePanel.setWidgetPosition(myWidget, 0, 0); //i.e. in front

然而,即使“myWidget”在前面,绘图表面也会阻止所有鼠标事件到达“myWidget”!如何确保“myWidget”仍然可以接收鼠标事件?我迫切需要这个,因为就我而言,我需要能够使用它们后面的绘图表面在小部件之间绘制特殊的连接线。这曾经适用于 Firefox、GWT 2.3 和 Windows XP,尽管我不知道为什么。

我在 IE 和 Chrome (Windows Vista) 和 GWT 2.4 上肯定有这个问题,无论我使用 Canvas 还是 Vaadin gwt-graphics 的 DrawingArea,(虽然我无法测试 Firefox,因为 GWT 插件现在不适合它)。有人有解决方案吗?

4

1 回答 1

0

您可以使用 DOM.setCapture 将所有输入转发到特定元素。

您可以调用 DOM.setCapture(myWidget.getElement()) 并在稍后将其释放回 DOM.releaseCapture(myWidget.getElement());

于 2012-07-12T20:50:12.363 回答