首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GWT:十字光标宽度

GWT:十字光标宽度
EN

Stack Overflow用户
提问于 2014-11-22 05:15:38
回答 1查看 46关注 0票数 0

我正在使用GWT进行可视化。对于此应用程序,当鼠标指针位于感兴趣的窗口中时,我希望光标更改为十字光标样式。我使用以下命令来完成此操作:

代码语言:javascript
复制
canvas.getElement().getStyle().setCursor(Cursor.CROSSHAIR);

这使得光标变成了一个十字,但我希望这个十字在垂直和水平方向上跨越整个窗口,这样用户就可以看到光标相对于轴的位置。我如何才能做到这一点?

提前感谢您的回复。

兰加。

EN

回答 1

Stack Overflow用户

发布于 2014-11-22 16:02:22

您可以捕捉鼠标事件并绘制水平线和垂直线。在鼠标移动和鼠标移出时重新绘制画布,并在鼠标移动时在重新绘制的画布上绘制h/v线。

代码语言:javascript
复制
    final int width = canvas.getOffsetWidth();
    final int height = canvas.getOffsetHeight();
    canvas.addMouseMoveHandler(new MouseMoveHandler() {
        @Override
        public void onMouseMove(MouseMoveEvent event) {
            Context2d context = canvas.getContext2d();

            context.setStrokeStyle("black");

            int x = event.getX();
            int y = event.getY();

            // vertical line
            context.beginPath();
            context.moveTo(x - 0.5, 0);
            context.lineTo(x - 0.5, height);
            context.closePath();

            // horizontal line
            context.beginPath();
            context.moveTo(0, y - 0.5);
            context.lineTo(width, y - 0.5);
            context.closePath();
        }
    });

    canvas.addMouseOutHandler(new MouseOutHandler() {
        @Override
        public void onMouseOut(MouseOutEvent event) {
            Context2d context = canvas.getContext2d();

            // clear lines or redraw the canvas

        }
    });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27070480

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档