Java 在Vaadin中单击的相对坐标

Java 在Vaadin中单击的相对坐标,java,vaadin,Java,Vaadin,我正在用Vaadin 14构建一个应用程序,用户需要单击一个图像,然后进一步处理来自该单击的坐标。Vaadin似乎只提供相对于用户屏幕或浏览器的点击坐标。我的应用程序需要相对于组件的坐标。有没有办法做到这一点?答案是通过元素API并使用image.getElement().addEventListener(“单击“,…).addEventData(…),从而将必要的信息从浏览器传递到服务器 就我而言: Image image = ... image.getElement().addEventLi

我正在用Vaadin 14构建一个应用程序,用户需要单击一个图像,然后进一步处理来自该单击的坐标。Vaadin似乎只提供相对于用户屏幕或浏览器的点击坐标。我的应用程序需要相对于组件的坐标。有没有办法做到这一点?

答案是通过元素API并使用
image.getElement().addEventListener(“单击“,…).addEventData(…)
,从而将必要的信息从浏览器传递到服务器

就我而言:

Image image = ...
image.getElement().addEventListener("click", this::handleClick)
                .addEventData("event.offsetX")
                .addEventData("event.offsetY");

private void handleClick(DomEvent event) {
        JsonObject eventData = event.getEventData();
        double x = eventData.getNumber("event.offsetX");
        double y = eventData.getNumber("event.offsetY");

        String text = "X: " + x + ", Y: " + y;
        System.out.println(text);
    }

更多信息:

这是否回答了您的问题@SimonMartinelli很遗憾,我对javascript一点也不熟悉。如何使用javascript访问图像并执行获取单击位置所需的功能?谢谢