如何解决Vaadin 中单击的相对坐标
我正在使用 Vaadin 14 构建一个应用程序,其中要求用户单击图像,然后进一步处理来自该单击的坐标。 Vaadin 似乎只提供相对于用户屏幕或浏览器的点击坐标。我的应用程序需要相对于组件的坐标。有没有办法做到这一点?
解决方法
答案是通过 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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。