- All Implemented Interfaces:
Serializable
- Direct Known Subclasses:
MouseDragGestureRecognizer
DragGestureRecognizer
is an
abstract base class for the specification
of a platform-dependent listener that can be associated with a particular
Component
in order to
identify platform-dependent drag initiating gestures.
The appropriate DragGestureRecognizer
subclass instance is obtained from the
DragSource
associated with
a particular Component
, or from the Toolkit
object via its
createDragGestureRecognizer()
method.
Once the DragGestureRecognizer
is associated with a particular Component
it will register the appropriate listener interfaces on that
Component
in order to track the input events delivered to the Component
.
Once the DragGestureRecognizer
identifies a sequence of events
on the Component
as a drag initiating gesture, it will notify
its unicast DragGestureListener
by
invoking its
gestureRecognized()
method.
When a concrete DragGestureRecognizer
instance detects a drag initiating
gesture on the Component
it is associated with,
it fires a DragGestureEvent
to
the DragGestureListener
registered on
its unicast event source for DragGestureListener
events. This DragGestureListener
is responsible
for causing the associated
DragSource
to start the Drag and Drop operation (if
appropriate).
- See Also:
DragGestureListener
,DragGestureEvent
,DragSource
, Serialized Form
-
Field Summary
Modifier and TypeFieldDescriptionprotected Component
TheComponent
associated with thisDragGestureRecognizer
.protected DragGestureListener
TheDragGestureListener
associated with thisDragGestureRecognizer
.protected DragSource
TheDragSource
associated with thisDragGestureRecognizer
.protected ArrayList<InputEvent>
The list of events (in order) that theDragGestureRecognizer
"recognized" as a "gesture" that triggers a drag.protected int
Anint
representing the type(s) of action(s) used in this Drag and Drop operation. -
Constructor Summary
ModifierConstructorDescriptionprotected
Construct a newDragGestureRecognizer
given theDragSource
to be used in this Drag and Drop operation.protected
DragGestureRecognizer(DragSource ds, Component c)
Construct a newDragGestureRecognizer
given theDragSource
to be used in this Drag and Drop operation, and theComponent
thisDragGestureRecognizer
should "observe" for drag initiating gestures.protected
DragGestureRecognizer(DragSource ds, Component c, int sa)
Construct a newDragGestureRecognizer
given theDragSource
to be used in this Drag and Drop operation, theComponent
thisDragGestureRecognizer
should "observe" for drag initiating gestures, and the action(s) supported for this Drag and Drop operation.protected
DragGestureRecognizer(DragSource ds, Component c, int sa, DragGestureListener dgl)
Construct a newDragGestureRecognizer
given theDragSource
to be used in this Drag and Drop operation, theComponent
thisDragGestureRecognizer
should "observe" for drag initiating gestures, the action(s) supported for this Drag and Drop operation, and theDragGestureListener
to notify once a drag initiating gesture has been detected. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Register a newDragGestureListener
.protected void
appendEvent(InputEvent awtie)
Listeners registered on the Component by this Recognizer shall record all Events that are recognized as part of the series of Events that go to comprise a Drag and Drop initiating gesture via this API.protected void
fireDragGestureRecognized(int dragAction, Point p)
Notify the DragGestureListener that a Drag and Drop initiating gesture has occurred.This method returns theComponent
that is to be "observed" by theDragGestureRecognizer
for drag initiating gestures.This method returns theDragSource
thisDragGestureRecognizer
will use in order to process the Drag and Drop operation.int
This method returns an int representing the type of action(s) this Drag and Drop operation will support.This method returns the first event in the series of events that initiated the Drag and Drop operation.protected abstract void
register this DragGestureRecognizer's Listeners with the Component subclasses must override this methodvoid
unregister the current DragGestureListenervoid
Reset the Recognizer, if its currently recognizing a gesture, ignore it.void
set the Component that the DragGestureRecognizer is associated with registerListeners() and unregisterListeners() are called as a side effect as appropriate.void
setSourceActions(int actions)
This method sets the permitted source drag action(s) for this Drag and Drop operation.protected abstract void
unregister this DragGestureRecognizer's Listeners with the Component subclasses must override this method
-
Field Details
-
dragSource
TheDragSource
associated with thisDragGestureRecognizer
. -
component
TheComponent
associated with thisDragGestureRecognizer
. -
dragGestureListener
TheDragGestureListener
associated with thisDragGestureRecognizer
. -
sourceActions
protected int sourceActionsAnint
representing the type(s) of action(s) used in this Drag and Drop operation. -
events
The list of events (in order) that theDragGestureRecognizer
"recognized" as a "gesture" that triggers a drag.
-
-
Constructor Details
-
DragGestureRecognizer
Construct a newDragGestureRecognizer
given theDragSource
to be used in this Drag and Drop operation, theComponent
thisDragGestureRecognizer
should "observe" for drag initiating gestures, the action(s) supported for this Drag and Drop operation, and theDragGestureListener
to notify once a drag initiating gesture has been detected.- Parameters:
ds
- theDragSource
thisDragGestureRecognizer
will use to process the Drag and Drop operationc
- theComponent
thisDragGestureRecognizer
should "observe" the event stream to, in order to detect a drag initiating gesture. If this value isnull
, theDragGestureRecognizer
is not associated with anyComponent
.sa
- the set (logical OR) of theDnDConstants
that this Drag and Drop operation will supportdgl
- theDragGestureRecognizer
to notify when a drag gesture is detected- Throws:
IllegalArgumentException
- if ds isnull
.
-
DragGestureRecognizer
Construct a newDragGestureRecognizer
given theDragSource
to be used in this Drag and Drop operation, theComponent
thisDragGestureRecognizer
should "observe" for drag initiating gestures, and the action(s) supported for this Drag and Drop operation.- Parameters:
ds
- theDragSource
thisDragGestureRecognizer
will use to process the Drag and Drop operationc
- theComponent
thisDragGestureRecognizer
should "observe" the event stream to, in order to detect a drag initiating gesture. If this value isnull
, theDragGestureRecognizer
is not associated with anyComponent
.sa
- the set (logical OR) of theDnDConstants
that this Drag and Drop operation will support- Throws:
IllegalArgumentException
- if ds isnull
.
-
DragGestureRecognizer
Construct a newDragGestureRecognizer
given theDragSource
to be used in this Drag and Drop operation, and theComponent
thisDragGestureRecognizer
should "observe" for drag initiating gestures.- Parameters:
ds
- theDragSource
thisDragGestureRecognizer
will use to process the Drag and Drop operationc
- theComponent
thisDragGestureRecognizer
should "observe" the event stream to, in order to detect a drag initiating gesture. If this value isnull
, theDragGestureRecognizer
is not associated with anyComponent
.- Throws:
IllegalArgumentException
- if ds isnull
.
-
DragGestureRecognizer
Construct a newDragGestureRecognizer
given theDragSource
to be used in this Drag and Drop operation.- Parameters:
ds
- theDragSource
thisDragGestureRecognizer
will use to process the Drag and Drop operation- Throws:
IllegalArgumentException
- if ds isnull
.
-
-
Method Details
-
registerListeners
protected abstract void registerListeners()register this DragGestureRecognizer's Listeners with the Component subclasses must override this method -
unregisterListeners
protected abstract void unregisterListeners()unregister this DragGestureRecognizer's Listeners with the Component subclasses must override this method -
getDragSource
This method returns theDragSource
thisDragGestureRecognizer
will use in order to process the Drag and Drop operation.- Returns:
- the DragSource
-
getComponent
This method returns theComponent
that is to be "observed" by theDragGestureRecognizer
for drag initiating gestures.- Returns:
- The Component this DragGestureRecognizer is associated with
-
setComponent
set the Component that the DragGestureRecognizer is associated with registerListeners() and unregisterListeners() are called as a side effect as appropriate.- Parameters:
c
- TheComponent
ornull
-
getSourceActions
public int getSourceActions()This method returns an int representing the type of action(s) this Drag and Drop operation will support.- Returns:
- the currently permitted source action(s)
-
setSourceActions
public void setSourceActions(int actions)This method sets the permitted source drag action(s) for this Drag and Drop operation.- Parameters:
actions
- the permitted source drag action(s)
-
getTriggerEvent
This method returns the first event in the series of events that initiated the Drag and Drop operation.- Returns:
- the initial event that triggered the drag gesture
-
resetRecognizer
public void resetRecognizer()Reset the Recognizer, if its currently recognizing a gesture, ignore it. -
addDragGestureListener
Register a newDragGestureListener
.- Parameters:
dgl
- theDragGestureListener
to register with thisDragGestureRecognizer
.- Throws:
TooManyListenersException
- if aDragGestureListener
has already been added.
-
removeDragGestureListener
unregister the current DragGestureListener- Parameters:
dgl
- theDragGestureListener
to unregister from thisDragGestureRecognizer
- Throws:
IllegalArgumentException
- if dgl is not (equal to) the currently registeredDragGestureListener
.
-
fireDragGestureRecognized
Notify the DragGestureListener that a Drag and Drop initiating gesture has occurred. Then reset the state of the Recognizer.- Parameters:
dragAction
- The action initially selected by the users gesturep
- The point (in Component coords) where the gesture originated
-
appendEvent
Listeners registered on the Component by this Recognizer shall record all Events that are recognized as part of the series of Events that go to comprise a Drag and Drop initiating gesture via this API.This method is used by a
DragGestureRecognizer
implementation to add anInputEvent
subclass (that it believes is one in a series of events that comprise a Drag and Drop operation) to the array of events that thisDragGestureRecognizer
maintains internally.- Parameters:
awtie
- theInputEvent
to add to thisDragGestureRecognizer
's internal array of events. Note thatnull
is not a valid value, and will be ignored.
-