The
DragSourceDragEvent
is delivered from the
DragSourceContextPeer
, via the
DragSourceContext
, to the
DragSourceListener
registered with that
DragSourceContext
and with its associated
DragSource
.
The DragSourceDragEvent
reports the target drop action and the user drop action that reflect the current state of the drag operation.
Target drop action is one of DnDConstants
that represents the drop action selected by the current drop target if this drop action is supported by the drag source or DnDConstants.ACTION_NONE
if this drop action is not supported by the drag source.
User drop action depends on the drop actions supported by the drag source and the drop action selected by the user. The user can select a drop action by pressing modifier keys during the drag operation:
Ctrl + Shift -> ACTION_LINK
Ctrl -> ACTION_COPY
Shift -> ACTION_MOVE
If the user selects a drop action, the
user drop action is one of
DnDConstants
that represents the selected drop action if this drop action is supported by the drag source or
DnDConstants.ACTION_NONE
if this drop action is not supported by the drag source.
If the user doesn't select a drop action, the set of DnDConstants
that represents the set of drop actions supported by the drag source is searched for DnDConstants.ACTION_MOVE
, then for DnDConstants.ACTION_COPY
, then for DnDConstants.ACTION_LINK
and the user drop action is the first constant found. If no constant is found the user drop action is DnDConstants.ACTION_NONE
.