public abstract class DragGestureRecognizer extends Objectimplements Serializable
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).
DragGestureListener,
DragGestureEvent,
DragSource,
Serialized Form
| Modifier and Type | Field and Description |
|---|---|
protected Component |
component
The
Component associated with this
DragGestureRecognizer.
|
protected DragGestureListener |
dragGestureListener
The
DragGestureListener associated with this
DragGestureRecognizer.
|
protected DragSource |
dragSource
The
DragSource associated with this
DragGestureRecognizer.
|
protected ArrayList |
events
The list of events (in order) that the
DragGestureRecognizer "recognized" as a "gesture" that triggers a drag.
|
protected int |
sourceActions
An
int representing the type(s) of action(s) used in this Drag and Drop operation.
|
| Modifier | Constructor and Description |
|---|---|
protected |
DragGestureRecognizer(DragSource
Construct a new
DragGestureRecognizer given the
DragSource to be used in this Drag and Drop operation.
|
protected |
DragGestureRecognizer(DragSource
Construct a new
DragGestureRecognizer given the
DragSource to be used in this Drag and Drop operation, and the
Component this
DragGestureRecognizer should "observe" for drag initiating gestures.
|
protected |
DragGestureRecognizer(DragSource
Construct a new
DragGestureRecognizer given the
DragSource to be used in this Drag and Drop operation, the
Component this
DragGestureRecognizer should "observe" for drag initiating gestures, and the action(s) supported for this Drag and Drop operation.
|
protected |
DragGestureRecognizer(DragSource
Construct a new
DragGestureRecognizer given the
DragSource to be used in this Drag and Drop operation, the
Component this
DragGestureRecognizer should "observe" for drag initiating gestures, the action(s) supported for this Drag and Drop operation, and the
DragGestureListener to notify once a drag initiating gesture has been detected.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addDragGestureListener(DragGestureListener
Register a new
DragGestureListener.
|
protected void |
appendEvent(InputEvent
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
Notify the DragGestureListener that a Drag and Drop initiating gesture has occurred.
|
Component |
getComponent()
This method returns the
Component that is to be "observed" by the
DragGestureRecognizer for drag initiating gestures.
|
DragSource |
getDragSource()
This method returns the
DragSource this
DragGestureRecognizer will use in order to process the Drag and Drop operation.
|
int |
getSourceActions()
This method returns an int representing the type of action(s) this Drag and Drop operation will support.
|
InputEvent |
getTriggerEvent()
This method returns the first event in the series of events that initiated the Drag and Drop operation.
|
protected abstract void |
registerListeners()
register this DragGestureRecognizer's Listeners with the Component subclasses must override this method
|
void |
removeDragGestureListener(DragGestureListener
unregister the current DragGestureListener
|
void |
resetRecognizer()
Reset the Recognizer, if its currently recognizing a gesture, ignore it.
|
void |
setComponent(Component
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 |
unregisterListeners()
unregister this DragGestureRecognizer's Listeners with the Component subclasses must override this method
|
protected DragSourcedragSource
DragSource associated with this
DragGestureRecognizer.
protected Componentcomponent
Component associated with this
DragGestureRecognizer.
protected transient DragGestureListenerdragGestureListener
DragGestureListener associated with this
DragGestureRecognizer.
protected int sourceActions
int representing the type(s) of action(s) used in this Drag and Drop operation.
protected ArrayList<InputEvent > events
DragGestureRecognizer "recognized" as a "gesture" that triggers a drag.
protected DragGestureRecognizer(DragSourceds, Component c, int sa, DragGestureListener dgl)
DragGestureRecognizer given the
DragSource to be used in this Drag and Drop operation, the
Component this
DragGestureRecognizer should "observe" for drag initiating gestures, the action(s) supported for this Drag and Drop operation, and the
DragGestureListener to notify once a drag initiating gesture has been detected.
ds - the
DragSource this
DragGestureRecognizer will use to process the Drag and Drop operation
c - the
Component this
DragGestureRecognizer should "observe" the event stream to, in order to detect a drag initiating gesture. If this value is
null, the
DragGestureRecognizer is not associated with any
Component.
sa - the set (logical OR) of the
DnDConstants that this Drag and Drop operation will support
dgl - the
DragGestureRecognizer to notify when a drag gesture is detected
IllegalArgumentException - if ds is
null.
protected DragGestureRecognizer(DragSourceds, Component c, int sa)
DragGestureRecognizer given the
DragSource to be used in this Drag and Drop operation, the
Component this
DragGestureRecognizer should "observe" for drag initiating gestures, and the action(s) supported for this Drag and Drop operation.
ds - the
DragSource this
DragGestureRecognizer will use to process the Drag and Drop operation
c - the
Component this
DragGestureRecognizer should "observe" the event stream to, in order to detect a drag initiating gesture. If this value is
null, the
DragGestureRecognizer is not associated with any
Component.
sa - the set (logical OR) of the
DnDConstants that this Drag and Drop operation will support
IllegalArgumentException - if ds is
null.
protected DragGestureRecognizer(DragSourceds, Component c)
DragGestureRecognizer given the
DragSource to be used in this Drag and Drop operation, and the
Component this
DragGestureRecognizer should "observe" for drag initiating gestures.
ds - the
DragSource this
DragGestureRecognizer will use to process the Drag and Drop operation
c - the
Component this
DragGestureRecognizer should "observe" the event stream to, in order to detect a drag initiating gesture. If this value is
null, the
DragGestureRecognizer is not associated with any
Component.
IllegalArgumentException - if ds is
null.
protected DragGestureRecognizer(DragSourceds)
DragGestureRecognizer given the
DragSource to be used in this Drag and Drop operation.
ds - the
DragSource this
DragGestureRecognizer will use to process the Drag and Drop operation
IllegalArgumentException - if ds is
null.
protected abstract void registerListeners()
protected abstract void unregisterListeners()
public DragSourcegetDragSource()
DragSource this
DragGestureRecognizer will use in order to process the Drag and Drop operation.
public ComponentgetComponent()
Component that is to be "observed" by the
DragGestureRecognizer for drag initiating gestures.
public void setComponent(Componentc)
c - The
Component or
null
public int getSourceActions()
public void setSourceActions(int actions)
actions - the permitted source drag action(s)
public InputEventgetTriggerEvent()
public void resetRecognizer()
public void addDragGestureListener(DragGestureListenerdgl) throws TooManyListenersException
DragGestureListener.
dgl - the
DragGestureListener to register with this
DragGestureRecognizer.
TooManyListenersException - if a
DragGestureListener has already been added.
public void removeDragGestureListener(DragGestureListenerdgl)
dgl - the
DragGestureListener to unregister from this
DragGestureRecognizer
IllegalArgumentException - if dgl is not (equal to) the currently registered
DragGestureListener.
protected void fireDragGestureRecognized(int dragAction,
Point p)
dragAction - The action initially selected by the users gesture
p - The point (in Component coords) where the gesture originated
protected void appendEvent(InputEventawtie)
This method is used by a DragGestureRecognizer implementation to add an InputEvent subclass (that it believes is one in a series of events that comprise a Drag and Drop operation) to the array of events that this DragGestureRecognizer maintains internally.
awtie - the
InputEvent to add to this
DragGestureRecognizer's internal array of events. Note that
null is not a valid value, and will be ignored.