public abstract class DragGestureRecognizer extends Object implements 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 | componentThe  Componentassociated with thisDragGestureRecognizer. | 
| protected DragGestureListener | dragGestureListenerThe  DragGestureListenerassociated with thisDragGestureRecognizer. | 
| protected DragSource | dragSourceThe  DragSourceassociated with thisDragGestureRecognizer. | 
| protected ArrayList<InputEvent> | eventsThe list of events (in order) that
 the  DragGestureRecognizer"recognized" as a "gesture" that triggers a drag. | 
| protected int | sourceActionsAn  intrepresenting
 the type(s) of action(s) used
 in this Drag and Drop operation. | 
| Modifier | Constructor and Description | 
|---|---|
| protected  | DragGestureRecognizer(DragSource ds)Construct a new  DragGestureRecognizergiven theDragSourceto be used in this
 Drag and Drop operation. | 
| protected  | DragGestureRecognizer(DragSource ds,
                     Component c)Construct a new  DragGestureRecognizergiven theDragSourceto be used
 in this Drag and Drop operation, and
 theComponentthisDragGestureRecognizershould "observe" for drag initiating gestures. | 
| protected  | DragGestureRecognizer(DragSource ds,
                     Component c,
                     int sa)Construct a new  DragGestureRecognizergiven theDragSourceto be used in this
 Drag and Drop
 operation, theComponentthisDragGestureRecognizershould "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 new  DragGestureRecognizergiven theDragSourceto be used
 in this Drag and Drop operation, theComponentthisDragGestureRecognizershould "observe"
 for drag initiating gestures, the action(s) supported
 for this Drag and Drop operation, and theDragGestureListenerto notify
 once a drag initiating gesture has been detected. | 
| Modifier and Type | Method and Description | 
|---|---|
| void | addDragGestureListener(DragGestureListener dgl)Register a new  DragGestureListener. | 
| 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. | 
| Component | getComponent()This method returns the  Componentthat is to be "observed" by theDragGestureRecognizerfor drag initiating gestures. | 
| DragSource | getDragSource()This method returns the  DragSourcethisDragGestureRecognizerwill 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 dgl)unregister the current DragGestureListener | 
| void | resetRecognizer()Reset the Recognizer, if its currently recognizing a gesture, ignore
 it. | 
| void | setComponent(Component c)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 DragSource dragSource
DragSource
 associated with this
 DragGestureRecognizer.protected Component component
Component
 associated with this DragGestureRecognizer.protected transient DragGestureListener dragGestureListener
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(DragSource ds, 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 operationc - 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 supportdgl - the DragGestureRecognizer
 to notify when a drag gesture is detected
 IllegalArgumentException - if ds is null.protected DragGestureRecognizer(DragSource ds, 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 operationc - 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(DragSource ds, 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 operationc - 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(DragSource ds)
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 DragSource getDragSource()
DragSource
 this DragGestureRecognizer
 will use in order to process the Drag and Drop
 operation.
 public Component getComponent()
Component
 that is to be "observed" by the
 DragGestureRecognizer
 for drag initiating gestures.
 public void setComponent(Component c)
c - The Component or nullpublic int getSourceActions()
public void setSourceActions(int actions)
actions - the permitted source drag action(s)public InputEvent getTriggerEvent()
public void resetRecognizer()
public void addDragGestureListener(DragGestureListener dgl) throws TooManyListenersException
DragGestureListener.
 dgl - the DragGestureListener to register
 with this DragGestureRecognizer.
 TooManyListenersException - if a
 DragGestureListener has already been added.public void removeDragGestureListener(DragGestureListener dgl)
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 gesturep - The point (in Component coords) where the gesture originatedprotected void appendEvent(InputEvent awtie)
 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. Submit a bug or feature 
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
 Copyright © 1993, 2017, Oracle and/or its affiliates.  All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.