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

时间:2012-09-26 22:13:28

标签: gwt select drag area drag-and-drop

我正在使用gwt和gwt-dnd,我想做以下事情:

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

有什么想法吗?

3 个答案:

答案 0 :(得分:1)

On MouseDownEvent记录指针的坐标(event.getClientX()和eventGetClientY())。

在MouseUpEvent上也这样做。如果坐标不同,则选择矩形。

获取包含可选择的所有小部件或元素的小部件。穿过它的孩子们。

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

答案 1 :(得分:0)

我想补充一下,如果你通过在选择过程中显示矩形来提供反馈,那么我们所做的就是将矩形显示为com.google.gwt.user.client.ui.HTML的一个实例,其样式为显示边框。这是使用onPouseMove使用setPixelSize和setWidgetPosition更新的。

答案 2 :(得分:0)

库gwtquery-plugins提供了MultiSelect功能,所以我试试看。

gwtquery-plugins