This repository has been archived by the owner. It is now read-only.
Library providing easy to use mouse or touch based drag-and-drop capabilities to GWT
Switch branches/tags
gwt1.3.3-dragdrop-2007-11-02-r443 gwt1.3.3-dragdrop-2007-07-13 gwt-dragdrop-1.2.6-branch-1.x-r494 gwt-dragdrop-1.2.6-branch-1.x-r492 gwt-dragdrop-1.2.5-r391@391 gwt-dragdrop-1.2.5-r391 gwt-dragdrop-1.2.4-r357@357 gwt-dragdrop-1.2.4-r357 gwt-dragdrop-1.2.3-r347@347 gwt-dragdrop-1.2.3-r347 gwt-dragdrop-1.2.2-r344@344 gwt-dragdrop-1.2.2-r344 gwt-dragdrop-1.2.1-r325@325 gwt-dragdrop-1.2.1-r325 gwt-dragdrop-1.2 gwt-dragdrop-1.2-r302 gwt-dragdrop-1.1 gwt-dragdrop-1.1-r255 gwt-dragdrop-1.0RC2 gwt-dragdrop-1.0RC2-r246 gwt-dnd-r1057 gwt-dnd-r1054 gwt-dnd-e74ee362ab99a63afc52c33cc6768f5785b6dbb9 gwt-dnd-cfed15da8d68caece660491359ebb937a810cae0 gwt-dnd-6191e41be3fb gwt-dnd-55b29bc583e9f0a1126efdc201fd370fe76e2f35 gwt-dnd-3.3.4 gwt-dnd-3.3.3 gwt-dnd-3.3.2 gwt-dnd-3.3.1 gwt-dnd-3.3.0 gwt-dnd-3.2.3 gwt-dnd-3.2.2 gwt-dnd-3.2.1 gwt-dnd-3.2.0 gwt-dnd-3.1.2-r1137 gwt-dnd-3.1.1-r1111 gwt-dnd-3.1.0-r1089 gwt-dnd-3.0.1-r1016 gwt-dnd-3.0.0-r997 gwt-dnd-2.6.5-r929@929 gwt-dnd-2.6.5-r929 gwt-dnd-2.6.4-r905@905 gwt-dnd-2.6.4-r905 gwt-dnd-2.6.3-r904@898 gwt-dnd-2.6.3-r904@600 gwt-dnd-2.6.3-r904 gwt-dnd-2.6.2-r884@884 gwt-dnd-2.6.2-r884 gwt-dnd-2.6.1-r880@880 gwt-dnd-2.6.1-r880 gwt-dnd-2.6.0-r857@855 gwt-dnd-2.6.0-r857@600 gwt-dnd-2.6.0-r857 gwt-dnd-2.5.6-r828@826 gwt-dnd-2.5.6-r828@600 gwt-dnd-2.5.6-r828 gwt-dnd-2.5.5-r822@822 gwt-dnd-2.5.5-r822@600 gwt-dnd-2.5.5-r822 gwt-dnd-2.5.4-r780@779 gwt-dnd-2.5.4-r780@600 gwt-dnd-2.5.4-r780 gwt-dnd-2.5.3-r770@769 gwt-dnd-2.5.3-r770@600 gwt-dnd-2.5.3-r770 gwt-dnd-2.5.2-r748@738 gwt-dnd-2.5.2-r748@600 gwt-dnd-2.5.2-r748 gwt-dnd-2.5.1-r744@738 gwt-dnd-2.5.1-r744@600 gwt-dnd-2.5.1-r744 gwt-dnd-2.5.0-r726@720 gwt-dnd-2.5.0-r726@600 gwt-dnd-2.5.0-r726 gwt-dnd-2.0.7-r666@660 gwt-dnd-2.0.7-r666@600 gwt-dnd-2.0.7-r666 gwt-dnd-2.0.6-r662@660 gwt-dnd-2.0.6-r662@600 gwt-dnd-2.0.6-r662 gwt-dnd-2.0.5-r633@633 gwt-dnd-2.0.5-r633@600 gwt-dnd-2.0.5-r633 gwt-dnd-2.0.4-r619@619 gwt-dnd-2.0.4-r619@600 gwt-dnd-2.0.4-r619 gwt-dnd-2.0.3-r598 gwt-dnd-2.0.2-r564@564 gwt-dnd-2.0.2-r564 gwt-dnd-2.0.1-r535@535 gwt-dnd-2.0.1-r535 gwt-dnd-2.0.0-r479@479 gwt-dnd-2.0.0-r479 DragDrop133-2007-07-13 1.1 1.0RC2
Nothing to show
Clone or download
Latest commit 66cf688 May 23, 2017

status: inactive

This project is no longer actively developed or maintained.


Library providing easy to use mouse or touch (for mobile devices) based drag-and-drop capabilities to Google Web Toolkit (GWT) projects.


If you have questions, please post them on and I (or someone else) will try to answer them as best as possible. Using the forum means that others can benefit from any answers and feedback you get. It is always the fastest way to get an answer to a new question.

Is your project using drag and drop?

I'd like to know if you're using gwt-dnd on your project, and how useful (or not) this library is to you. You can send me an email at

Getting started with your own drag-and-drop projects

Read the wiki here:

Working examples

Try the working demo:


  • Drag-and-Drop - classic drag/drop operations for your existing widgets and panels
  • Drag-and-Move - allows user to rearrange widgets within a Panel
  • Non-invasive - No need to extend or implement special library classes or interfaces; just use your existing widgets and panels
    • Any Widget that implements SourcesMouseEvents is draggable. For today's version of GWT that means FocusPanel, HTML, Image and Label are immediately draggable. Listening for mouse events on other widgets is relatively straight forward.
    • Any Panel can become a drop target. If you need absolute positioning on the drop target, use AbsolutePanel.
  • Quirks mode and Strict mode fully support
  • Inline and Block elements are supported for dragging and as drop targets
  • AbsolutePanel, IndexedPanel, FlowPanel and FlexTable drop targets
  • Drag Handles - grab hold of small part of a larger widget
  • Drag Proxies - Leave the original widget in place while you drag a proxy widget around
  • Veto Capability - Prevent certain operations from happening, causing the draggable to snap back to its original location
  • EventListener for drag-and-drop events via DragHandler interface
  • Many examples with source code

OOTB (Out of the Box) provided drag-and-drop or drag-and-move behaviors

DropController Description Example Use
AbsolutePositionDropController Drag-and-Move widgets around an AbsolutePanel. Moving drawing elements around on a flow chart.
AbstractDropController Create your own controllers from this base class. Anything you can dream up.
BoundaryDropController All drag operations are ultimately constrained by a panel you specify. By default this panel is RootPanel.get() which means you can drag widgets over the entire page. For use as part of the gwt-dnd implementation.
FlexTableRowDropController Rearrange rows in a FlexTable. Users rearrange results of a query.
FlowPanelDropController Drop controller for instances of FlowPanel. Moving elements around in flowed text.
HorizontalPanelDropController Drop controller for instances of HorizontalPanel. Moving widgets in a horizontal list.
GridConstrainedDropController Similar to AbsolutePositionDropController, but constrains the position of the draggable widgets to a specified grid. Allows for 'snap to grid' functionality.
SimpleDropController For simple drop targets which allows a widget to be dropped on them. A trash can icon.
VerticalPanelDropController Drop controller for instances of VerticalPanel. Moving widgets in a vertical list.


Please let me know what you think. Suggestions are always welcome.

Other GWT projects by the same author

Project Description
gwt-voices Provides sound support for your GWT applications.
gwt-log Provides logging support for your GWT applications.