通过在gwt中拖动鼠标选择区域

通过在gwt中拖动鼠标选择区域,gwt,select,drag,area,drag-and-drop,Gwt,Select,Drag,Area,Drag And Drop,我正在将gwt与一起使用,并希望执行以下操作: 1. Select rectangle area by dragging the mouse 2. Select all the elements that are in this area 3. drag all selected elements. 有什么想法吗?在MouseDownEvent上记录指针的坐标(event.getClientX()和eventGetClientY() 在MouseUpEvent上也可以这样做。如果坐标不同,则有

我正在将gwt与一起使用,并希望执行以下操作:

1. Select rectangle area by dragging the mouse
2. Select all the elements that are in this area
3. drag all selected elements.

有什么想法吗?

在MouseDownEvent上记录指针的坐标(event.getClientX()和eventGetClientY()

在MouseUpEvent上也可以这样做。如果坐标不同,则有一个选定的矩形

获取包含所有可选择的小部件或元素的小部件。循环遍历它的子对象


将每个小部件的坐标与矩形进行比较(使用getAbsoluteTop()、GetAbdouteLeft()、getOffsetHeight()和getOffsetWidth()。选择完全或部分位于所选区域内的小部件。

我想补充Andrei的回答,如果您想在选择期间通过显示矩形提供反馈,我们要做的是将矩形显示为com.google.gwt.user.client.ui.HTML的一个实例,并带有显示边框的样式。这是使用onMouseMove更新的,使用setPixelSize和setWidgetPosition。

库gwtquery插件提供了多选功能,因此我将尝试一下