java.lang.Object | +--java.awt.dnd.DragSourceContext
Safe:
protected static int
CHANGED
int used by updateCurrentCursor()
indicating that the user operation has changed.
protected static int
DEFAULT
int used by updateCurrentCursor()
indicating that the Cursor should change
to the default (no drop) Cursor.
protected static int
ENTER
int used by updateCurrentCursor()
indicating that the Cursor
has entered a DropTarget.
protected static int
OVER
int used by updateCurrentCursor()
indicating that the Cursor is
over a DropTarget.
private int
sourceActions
DnDConstants that represents the set of
drop actions supported by the drag source for the drag operation associated
with this DragSourceContext.
DragSourceContext(java.awt.dnd.peer.DragSourceContextPeer dscp,
DragGestureEvent trigger,
Cursor dragCursor,
Image dragImage,
Point offset,
Transferable t,
DragSourceListener dsl)
DragSource, this constructor creates a new
DragSourceContext given the
DragSourceContextPeer for this Drag, the
DragGestureEvent that triggered the Drag, the initial
Cursor to use for the Drag, an (optional)
Image to display while the Drag is taking place, the offset
of the Image origin from the hotspot at the instant of the
triggering event, the Transferable subject data, and the
DragSourceListener to use during the Drag and Drop
operation.
void
addDragSourceListener(DragSourceListener dsl)
DragSourceListener to this
DragSourceContext if one has not already been added.
void
dragDropEnd(DragSourceDropEvent dsde)
dragDropEnd on the
DragSourceListeners registered with this
DragSourceContext and with the associated
DragSource, and passes them the specified
DragSourceDropEvent.
void
dragEnter(DragSourceDragEvent dsde)
dragEnter on the
DragSourceListeners registered with this
DragSourceContext and with the associated
DragSource, and passes them the specified
DragSourceDragEvent.
void
dragExit(DragSourceEvent dse)
dragExit on the
DragSourceListeners registered with this
DragSourceContext and with the associated
DragSource, and passes them the specified
DragSourceEvent.
void
dragMouseMoved(DragSourceDragEvent dsde)
dragMouseMoved on the
DragSourceMotionListeners registered with the
DragSource associated with this
DragSourceContext, and them passes the specified
DragSourceDragEvent.
void
dragOver(DragSourceDragEvent dsde)
dragOver on the
DragSourceListeners registered with this
DragSourceContext and with the associated
DragSource, and passes them the specified
DragSourceDragEvent.
void
dropActionChanged(DragSourceDragEvent dsde)
dropActionChanged on the
DragSourceListeners registered with this
DragSourceContext and with the associated
DragSource, and passes them the specified
DragSourceDragEvent.
DragSource
getDragSource()
DragSource
that instantiated this DragSourceContext.
int
getSourceActions()
DnDConstants that
represent the set of drop actions supported by the drag source for the
drag operation associated with this DragSourceContext.
Transferable
getTransferable()
Transferable associated with
this DragSourceContext.
DragGestureEvent
getTrigger()
DragGestureEvent
that initially triggered the drag.
void
removeDragSourceListener(DragSourceListener dsl)
DragSourceListener
from this DragSourceContext.
void
transferablesFlavorsChanged()
Transferable's
DataFlavors have changed.
protected void
updateCurrentCursor(int dropOp,
int targetAct,
int status)
private static final long serialVersionUID
protected static final int DEFAULT
int used by updateCurrentCursor()
indicating that the Cursor should change
to the default (no drop) Cursor.
protected static final int ENTER
int used by updateCurrentCursor()
indicating that the Cursor
has entered a DropTarget.
protected static final int OVER
int used by updateCurrentCursor()
indicating that the Cursor is
over a DropTarget.
protected static final int CHANGED
int used by updateCurrentCursor()
indicating that the user operation has changed.
private static Transferable emptyTransferable
private transient java.awt.dnd.peer.DragSourceContextPeer peer
private DragGestureEvent trigger
private Cursor cursor
private transient Transferable transferable
private transient DragSourceListener listener
private boolean useCustomCursor
true if the custom drag cursor is used instead of the
default one.
private final int sourceActions
DnDConstants that represents the set of
drop actions supported by the drag source for the drag operation associated
with this DragSourceContext.
public DragSourceContext(java.awt.dnd.peer.DragSourceContextPeer dscp, DragGestureEvent trigger, Cursor dragCursor, Image dragImage, Point offset, Transferable t, DragSourceListener dsl)
DragSource, this constructor creates a new
DragSourceContext given the
DragSourceContextPeer for this Drag, the
DragGestureEvent that triggered the Drag, the initial
Cursor to use for the Drag, an (optional)
Image to display while the Drag is taking place, the offset
of the Image origin from the hotspot at the instant of the
triggering event, the Transferable subject data, and the
DragSourceListener to use during the Drag and Drop
operation.
DragSourceContextPeer is null
NullPointerException is thrown.
DragGestureEvent is null
NullPointerException is thrown.
Cursor is null no exception is thrown and
the default drag cursor behavior is activated for this drag operation.
Image is null no exception is thrown.
Image is not null and the offset is
null NullPointerException is thrown.
Transferable is null
NullPointerException is thrown.
DragSourceListener is null no exception
is thrown.
dscp - the DragSourceContextPeer for this dragtrigger - the triggering eventdragCursor - the initial CursordragImage - the Image to drag (or null)offset - the offset of the image origin from the hotspot at the
instant of the triggering eventt - the Transferabledsl - the DragSourceListener
IllegalArgumentException - if the Component associated
with the trigger event is null.
IllegalArgumentException - if the DragSource for the
trigger event is null.
IllegalArgumentException - if the drag action for the
trigger event is DnDConstants.ACTION_NONE.
IllegalArgumentException - if the source actions for the
DragGestureRecognizer associated with the trigger
event are equal to DnDConstants.ACTION_NONE.
NullPointerException - if dscp, trigger, or t are null, or
if dragImage is non-null and offset is nullpublic DragSource getDragSource()
DragSource
that instantiated this DragSourceContext.
DragSource that
instantiated this DragSourceContextpublic Component getComponent()
Component associated with this
DragSourceContext.
Component that started the dragpublic DragGestureEvent getTrigger()
DragGestureEvent
that initially triggered the drag.
public int getSourceActions()
DnDConstants that
represent the set of drop actions supported by the drag source for the
drag operation associated with this DragSourceContext.
public void setCursor(Cursor c)
Cursor. If the specified Cursor
is null, the default drag cursor behavior is
activated for this drag operation, otherwise it is deactivated.
c - the Cursor to display, or
null to activate the default drag cursor
behaviorpublic Cursor getCursor()
Cursor.
Cursorpublic void addDragSourceListener(DragSourceListener dsl) throws TooManyListenersException
DragSourceListener to this
DragSourceContext if one has not already been added.
If a DragSourceListener already exists,
this method throws a TooManyListenersException.
dsl - the DragSourceListener to add.
Note that while null is not prohibited,
it is not acceptable as a parameter.
TooManyListenersException - if
a DragSourceListener has already been added
TooManyListenersExceptionpublic void removeDragSourceListener(DragSourceListener dsl)
DragSourceListener
from this DragSourceContext.
dsl - the DragSourceListener to remove;
note that while null is not prohibited,
it is not acceptable as a parameterpublic void transferablesFlavorsChanged()
Transferable's
DataFlavors have changed.
public void dragEnter(DragSourceDragEvent dsde)
dragEnter on the
DragSourceListeners registered with this
DragSourceContext and with the associated
DragSource, and passes them the specified
DragSourceDragEvent.
dragEnter in interface DragSourceListenerdsde - the DragSourceDragEventpublic void dragOver(DragSourceDragEvent dsde)
dragOver on the
DragSourceListeners registered with this
DragSourceContext and with the associated
DragSource, and passes them the specified
DragSourceDragEvent.
dragOver in interface DragSourceListenerdsde - the DragSourceDragEventpublic void dragExit(DragSourceEvent dse)
dragExit on the
DragSourceListeners registered with this
DragSourceContext and with the associated
DragSource, and passes them the specified
DragSourceEvent.
dragExit in interface DragSourceListenerdse - the DragSourceEventpublic void dropActionChanged(DragSourceDragEvent dsde)
dropActionChanged on the
DragSourceListeners registered with this
DragSourceContext and with the associated
DragSource, and passes them the specified
DragSourceDragEvent.
dropActionChanged in interface DragSourceListenerdsde - the DragSourceDragEventpublic void dragDropEnd(DragSourceDropEvent dsde)
dragDropEnd on the
DragSourceListeners registered with this
DragSourceContext and with the associated
DragSource, and passes them the specified
DragSourceDropEvent.
dragDropEnd in interface DragSourceListenerdsde - the DragSourceDropEventpublic void dragMouseMoved(DragSourceDragEvent dsde)
dragMouseMoved on the
DragSourceMotionListeners registered with the
DragSource associated with this
DragSourceContext, and them passes the specified
DragSourceDragEvent.
dragMouseMoved in interface DragSourceMotionListenerdsde - the DragSourceDragEventpublic Transferable getTransferable()
Transferable associated with
this DragSourceContext.
Transferableprotected void updateCurrentCursor(int dropOp, int targetAct, int status)
dropOp - the user's currently selected operationtargetAct - the current target's supported actionsstatus - the constantprivate void setCursorImpl(Cursor c)
private void writeObject(ObjectOutputStream s) throws IOException
DragSourceContext. This method first
performs default serialization. Next, this object's
Transferable is written out if and only if it can be
serialized. If not, null is written instead. In this case,
a DragSourceContext created from the resulting deserialized
stream will contain a dummy Transferable which supports no
DataFlavors. Finally, this object's
DragSourceListener is written out if and only if it can be
serialized. If not, null is written instead.
IOExceptionprivate void readObject(ObjectInputStream s) throws ClassNotFoundException, IOException
DragSourceContext. This method first
performs default deserialization for all non-transient
fields. This object's Transferable and
DragSourceListener are then deserialized as well by using
the next two objects in the stream. If the resulting
Transferable is null, this object's
Transferable is set to a dummy Transferable
which supports no DataFlavors.
ClassNotFoundException
IOException