Dragging and Dropping : SWT Drag Drop « SWT « Java Tutorial






  1. The component you drag from is called the drag source.
  2. The component you drop on is called the drop target.

SWT uses the DragSource class to represent drag sources. It offers a single constructor:

DragSource(Control control, int style)

DragSource Styles

StyleDescription
DND.DROP_NONENo drag or drop supported
DND.DROP_COPYCopies the dragged data to the drop target
DND.DROP_MOVEMoves the dragged data to the drop target
DND.DROP_LINKCreates a link from the dragged data to the drop target


Transfer objects convert data from its Java representation to the underlying platform's data representation, and vice versa. You can write your own Transfer classes. Or use FileTransfer to drag and drop files and TextTransfer to drag and drop text.

To implement drop targets, SWT uses the DropTarget class. Its semantics mirror those of DragSource, and its lone constructor looks like this:

DropTarget(Control control, int style)








17.114.SWT Drag Drop
17.114.1.Dragging and Dropping
17.114.2.Drag selected text in Text to LabelDrag selected text in Text to Label
17.114.3.Drag and Drop inside TableDrag and Drop inside Table
17.114.4.Drag and Drop example snippet: determine data types available (win32 only)Drag and Drop example snippet: determine data types available (win32 only)
17.114.5.Drag and Drop: define a default operation (in this example, Copy)Drag and Drop: define a default operation (in this example, Copy)
17.114.6.Drag and Drop: define my own data transfer typeDrag and Drop: define my own data transfer type
17.114.7.Drag leaf items in a treeDrag leaf items in a tree
17.114.8.Drag text between two labelsDrag text between two labels
17.114.9.Drag and Drop: determine native data types available (motif only)
17.114.10.Make a dropped data type depend on a target item in tableMake a dropped data type depend on a target item in table