【问题标题】:Relative coordinates of a click in VaadinVaadin 中点击的相对坐标
【发布时间】:2023-03-27 02:08:01
【问题描述】:

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

【问题讨论】:

标签: java vaadin


【解决方案1】:

答案是通过 Element API 并使用 image.getElement().addEventListener("click", ...).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);
    }

更多信息:https://vaadin.com/docs/v14/flow/element-api/tutorial-event-listener

【讨论】:

    猜你喜欢
    • 2014-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多