java - 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
推荐阅读
- javascript - 如何隐藏剑道工具提示出现在detailInit(子网格)
- ios - 我如何获得一个布尔值来检查导航栏中是否有要弹出的视图?
- c# - 如何检测值的变化量?
- xml - XPath 在文档之间自动跳转
- r - 不同x和同一组的箱线图之间的geom_signif
- ios - 将我手机中的联系人上传到 Django 应用程序 - 没有其他答案可以解决它
- java - Java 在具有各种字母的 Graphics2d 上难以将 textLayouts 居中
- mysql - MySQL 创建过程语法问题
- docker - Docker上下文类型(ECS),有可能吗?
- c# - 使用 ProtoBuf-NET 序列化布尔值