【问题标题】:Select area by dragging mouse in gwt在gwt中通过鼠标拖动选择区域
【发布时间】:2012-09-26 22:13:28
【问题描述】:

我将 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.

有什么想法吗?

【问题讨论】:

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


    【解决方案1】:

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

    在 MouseUpEvent 上做同样的事情。如果坐标不同,则您选择了一个矩形。

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

        库 gwtquery-plugins 提供了 MultiSelect 功能,所以我会尝试一下。

        gwtquery-plugins

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-08-21
          • 1970-01-01
          • 2017-12-27
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多