DragGestureEvent (Java SE 15 & JDK 15)
Description: declaration: module: java.desktop, package: java.awt.dnd, class: DragGestureEvent
Keywords: java.awt.dnd.DragGestureEvent class

Module java.desktop
Package java.awt.dnd

# Class DragGestureEvent

java.lang.Object
java.util.EventObject
java.awt.dnd.DragGestureEvent

All Implemented Interfaces:
  `Serializable`

    public class DragGestureEvent
    extends EventObject

A `DragGestureEvent` is passed to `DragGestureListener`'s dragGestureRecognized() method when a particular `DragGestureRecognizer` detects that a platform dependent drag initiating gesture has occurred on the `Component` that it is tracking. The `action` field of any `DragGestureEvent` instance should take one of the following values:

- `DnDConstants.ACTION_COPY`
- `DnDConstants.ACTION_MOVE`
- `DnDConstants.ACTION_LINK`

Assigning the value different from listed above will cause an unspecified behavior.

See Also:
  `DragGestureRecognizer`, `DragGestureListener`, `DragSource`, `DnDConstants`, Serialized Form

- ## Field Summary

  ### Fields declared in class java.util.EventObject

  `source`

- ## Constructor Summary

  Constructors
  Constructor | Description
  --- | ---
  `DragGestureEvent​(DragGestureRecognizer dgr, int act, Point ori, List<? extends InputEvent> evs)` | Constructs a `DragGestureEvent` object given by the `DragGestureRecognizer` instance firing this event, an `act` parameter representing the user's preferred action, an `ori` parameter indicating the origin of the drag, and a `List` of events that comprise the gesture(`evs` parameter).

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `Component` | `getComponent()` | Returns the `Component` associated with this `DragGestureEvent`.
  `int` | `getDragAction()` | Returns an `int` representing the action selected by the user.
  `Point` | `getDragOrigin()` | Returns a `Point` in the coordinates of the `Component` over which the drag originated.
  `DragSource` | `getDragSource()` | Returns the `DragSource`.
  `DragGestureRecognizer` | `getSourceAsDragGestureRecognizer()` | Returns the source as a `DragGestureRecognizer`.
  `InputEvent` | `getTriggerEvent()` | Returns the initial event that triggered the gesture.
  `Iterator<InputEvent>` | `iterator()` | Returns an `Iterator` for the events comprising the gesture.
  `void` | `startDrag​(Cursor dragCursor, Transferable transferable)` | Starts the drag operation given the `Cursor` for this drag operation and the `Transferable` representing the source data for this drag operation.
  `void` | `startDrag​(Cursor dragCursor, Transferable transferable, DragSourceListener dsl)` | Starts the drag given the initial `Cursor` to display, the `Transferable` object, and the `DragSourceListener` to use.
  `void` | `startDrag​(Cursor dragCursor, Image dragImage, Point imageOffset, Transferable transferable, DragSourceListener dsl)` | Start the drag given the initial `Cursor` to display, a drag `Image`, the offset of the `Image`, the `Transferable` object, and the `DragSourceListener` to use.
  `Object[]` | `toArray()` | Returns an `Object` array of the events comprising the drag gesture.
  `Object[]` | `toArray​(Object[] array)` | Returns an array of the events comprising the drag gesture.

  ### Methods declared in class java.util.EventObject

  `getSource, toString`

  ### Methods declared in class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- ## Constructor Details

  - ### DragGestureEvent

    public DragGestureEvent​(DragGestureRecognizer dgr, int act, Point ori, List<? extends InputEvent> evs)
    Constructs a `DragGestureEvent` object given by the `DragGestureRecognizer` instance firing this event, an `act` parameter representing the user's preferred action, an `ori` parameter indicating the origin of the drag, and a `List` of events that comprise the gesture(`evs` parameter).
    Parameters:
      `dgr` - The `DragGestureRecognizer` firing this event
      `act` - The user's preferred action. For information on allowable values, see the class description for `DragGestureEvent`
      `ori` - The origin of the drag
      `evs` - The `List` of events that comprise the gesture
    Throws:
      `IllegalArgumentException` - if any parameter equals `null`
      `IllegalArgumentException` - if the act parameter does not comply with the values given in the class description for `DragGestureEvent`
    See Also:
      `DnDConstants`

- ## Method Details

  - ### getSourceAsDragGestureRecognizer

    public DragGestureRecognizer getSourceAsDragGestureRecognizer()
    Returns the source as a `DragGestureRecognizer`.
    Returns:
      the source as a `DragGestureRecognizer`

  - ### getComponent

    public Component getComponent()
    Returns the `Component` associated with this `DragGestureEvent`.
    Returns:
      the Component

  - ### getDragSource

    public DragSource getDragSource()
    Returns the `DragSource`.
    Returns:
      the `DragSource`

  - ### getDragOrigin

    public Point getDragOrigin()
    Returns a `Point` in the coordinates of the `Component` over which the drag originated.
    Returns:
      the Point where the drag originated in Component coords.

  - ### iterator

    public Iterator<InputEvent> iterator()
    Returns an `Iterator` for the events comprising the gesture.
    Returns:
      an Iterator for the events comprising the gesture

  - ### toArray

    public Object[] toArray()
    Returns an `Object` array of the events comprising the drag gesture.
    Returns:
      an array of the events comprising the gesture

  - ### toArray

    public Object[] toArray​(Object[] array)
    Returns an array of the events comprising the drag gesture.
    Parameters:
      `array` - the array of `EventObject` sub(types)
    Returns:
      an array of the events comprising the gesture

  - ### getDragAction

    public int getDragAction()
    Returns an `int` representing the action selected by the user.
    Returns:
      the action selected by the user

  - ### getTriggerEvent

    public InputEvent getTriggerEvent()
    Returns the initial event that triggered the gesture.
    Returns:
      the first "triggering" event in the sequence of the gesture

  - ### startDrag

    public void startDrag​(Cursor dragCursor, Transferable transferable) throws InvalidDnDOperationException
    Starts the drag operation given the `Cursor` for this drag operation and the `Transferable` representing the source data for this drag operation.
    If a `null Cursor` is specified no exception will be thrown and default drag cursors will be used instead.
    If a `null Transferable` is specified `NullPointerException` will be thrown.
    Parameters:
      `dragCursor` - The initial `Cursor` for this drag operation or `null` for the default cursor handling; see DragSourceContext for more details on the cursor handling mechanism during drag and drop
      `transferable` - The `Transferable` representing the source data for this drag operation.
    Throws:
      `InvalidDnDOperationException` - if the Drag and Drop system is unable to initiate a drag operation, or if the user attempts to start a drag while an existing drag operation is still executing.
      `NullPointerException` - if the `Transferable` is `null`
    Since:
      1.4

  - ### startDrag

    public void startDrag​(Cursor dragCursor, Transferable transferable, DragSourceListener dsl) throws InvalidDnDOperationException
    Starts the drag given the initial `Cursor` to display, the `Transferable` object, and the `DragSourceListener` to use.
    Parameters:
      `dragCursor` - The initial `Cursor` for this drag operation or `null` for the default cursor handling; see DragSourceContext for more details on the cursor handling mechanism during drag and drop
      `transferable` - The source's Transferable
      `dsl` - The source's DragSourceListener
    Throws:
      `InvalidDnDOperationException` - if the Drag and Drop system is unable to initiate a drag operation, or if the user attempts to start a drag while an existing drag operation is still executing.

  - ### startDrag

    public void startDrag​(Cursor dragCursor, Image dragImage, Point imageOffset, Transferable transferable, DragSourceListener dsl) throws InvalidDnDOperationException
    Start the drag given the initial `Cursor` to display, a drag `Image`, the offset of the `Image`, the `Transferable` object, and the `DragSourceListener` to use.
    Parameters:
      `dragCursor` - The initial `Cursor` for this drag operation or `null` for the default cursor handling; see DragSourceContext for more details on the cursor handling mechanism during drag and drop
      `dragImage` - The source's dragImage
      `imageOffset` - The dragImage's offset
      `transferable` - The source's Transferable
      `dsl` - The source's DragSourceListener
    Throws:
      `InvalidDnDOperationException` - if the Drag and Drop system is unable to initiate a drag operation, or if the user attempts to start a drag while an existing drag operation is still executing.