我正在开发一个像this in the fiddle
这样的GWT网格画布我的gridCanvas
对象的水平线代表路径。此外,对象具有表示截面的垂直线。
我想知道如何获得用户的选择,例如,如果用户选择了路线或路段以及选择了哪条路线或路段。
这里有一个 screenshot案例。
答案 0 :(得分:0)
添加您想要收听的事件,例如gridCanvas.addClickHandler(ClickHandler)
,并使用ClickEvent
获取鼠标位置并计算用户点击的单元格。
gridCanvas.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
int row = event.getY() / getCellHeight();
int col = event.getX() / getCellWidth();
}
});
使用getX()
和getY()
,您可以获得鼠标的位置。由于构建了网格,因此您还应该具有单元格的宽度和高度。有了这些信息,就可以轻松获得行和/或列。
我制作了一份完整的样本,你可以找到here。
部署了样本here。