public class DragSourceContext extends Object implements DragSourceListener, DragSourceMotionListener, Serializable
DragSourceContext
class is responsible for managing the
initiator side of the Drag and Drop protocol. In particular, it is responsible
for managing drag event notifications to the
DragSourceListeners
and DragSourceMotionListeners, and providing the
Transferable
representing the source data for the drag operation.
Note that the DragSourceContext
itself
implements the DragSourceListener
and
DragSourceMotionListener
interfaces.
This is to allow the platform peer
(the DragSourceContextPeer
instance)
created by the DragSource
to notify
the DragSourceContext
of
state changes in the ongoing operation. This allows the
DragSourceContext
object to interpose
itself between the platform and the
listeners provided by the initiator of the drag operation.
By default, DragSourceContext
sets the cursor as appropriate
for the current state of the drag and drop operation. For example, if
the user has chosen the move action,
and the pointer is over a target that accepts
the move action, the default move cursor is shown. When
the pointer is over an area that does not accept the transfer,
the default "no drop" cursor is shown.
This default handling mechanism is disabled when a custom cursor is set
by the setCursor(java.awt.Cursor)
method. When the default handling is disabled,
it becomes the responsibility
of the developer to keep the cursor up to date, by listening
to the DragSource
events and calling the setCursor()
method.
Alternatively, you can provide custom cursor behavior by providing
custom implementations of the DragSource
and the DragSourceContext
classes.
DragSourceListener
,
DragSourceMotionListener
,
DnDConstants
,
Serialized FormModifier and Type | Field | Description |
---|---|---|
protected static int |
CHANGED |
An
int used by updateCurrentCursor()
indicating that the user operation has changed. |
protected static int |
DEFAULT |
An
int used by updateCurrentCursor()
indicating that the Cursor should change
to the default (no drop) Cursor . |
protected static int |
|