# Class DragSourceEvent

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

All Implemented Interfaces:
  `Serializable`

Direct Known Subclasses:
  `DragSourceDragEvent, DragSourceDropEvent`

public class DragSourceEvent extends EventObject
This class is the base class for `DragSourceDragEvent` and `DragSourceDropEvent`.

`DragSourceEvent`s are generated whenever the drag enters, moves over, or exits a drop site, when the drop action changes, and when the drag ends. The location for the generated `DragSourceEvent` specifies the mouse cursor location in screen coordinates at the moment this event occurred.

In a multi-screen environment without a virtual device, the cursor location is specified in the coordinate system of the initiator `GraphicsConfiguration`. The initiator `GraphicsConfiguration` is the `GraphicsConfiguration` of the `Component` on which the drag gesture for the current drag operation was recognized. If the cursor location is outside the bounds of the initiator `GraphicsConfiguration`, the reported coordinates are clipped to fit within the bounds of that `GraphicsConfiguration`.

In a multi-screen environment with a virtual device, the location is specified in the corresponding virtual coordinate system. If the cursor location is outside the bounds of the virtual device the reported coordinates are clipped to fit within the bounds of the virtual device.

Since:
  1.2
See Also:
  - Serialized Form

- ## Field Summary

  ### Fields declared in class EventObject

  `source`
  Modifier and Type
  Field
  Description
  `protected Object`
  `source`
  The object on which the Event initially occurred.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `DragSourceEvent(DragSourceContext dsc)`
  Construct a `DragSourceEvent` given a specified `DragSourceContext`.
  `DragSourceEvent(DragSourceContext dsc, int x, int y)`
  Construct a `DragSourceEvent` given a specified `DragSourceContext`, and coordinates of the cursor location.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `DragSourceContext`
  `getDragSourceContext()`
  This method returns the `DragSourceContext` that originated the event.
  `Point`
  `getLocation()`
  This method returns a `Point` indicating the cursor location in screen coordinates at the moment this event occurred, or `null` if the cursor location is not specified for this event.
  `int`
  `getX()`
  This method returns the horizontal coordinate of the cursor location in screen coordinates at the moment this event occurred, or zero if the cursor location is not specified for this event.
  `int`
  `getY()`
  This method returns the vertical coordinate of the cursor location in screen coordinates at the moment this event occurred, or zero if the cursor location is not specified for this event.

  ### Methods declared in class EventObject

  `getSource, toString`
  Modifier and Type
  Method
  Description
  `Object`
  `getSource()`
  The object on which the Event initially occurred.
  `String`
  `toString()`
  Returns a String representation of this EventObject.

  ### Methods declared in class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`
  Modifier and Type
  Method
  Description
  `protected Object`
  `clone()`
  Creates and returns a copy of this object.
  `boolean`
  `equals(Object obj)`
  Indicates whether some other object is "equal to" this one.
  `protected void`
  `finalize()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Finalization is deprecated and subject to removal in a future release.
  `final Class<?>`
  `getClass()`
  Returns the runtime class of this `Object`.
  `int`
  `hashCode()`
  Returns a hash code value for this object.
  `final void`
  `notify()`
  Wakes up a single thread that is waiting on this object's monitor.
  `final void`
  `notifyAll()`
  Wakes up all threads that are waiting on this object's monitor.
  `final void`
  `wait()`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
  `final void`
  `wait(long timeoutMillis)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
  `final void`
  `wait(long timeoutMillis, int nanos)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

- ## Constructor Details

  - ### DragSourceEvent

    public DragSourceEvent(DragSourceContext dsc)
    Construct a `DragSourceEvent` given a specified `DragSourceContext`. The coordinates for this `DragSourceEvent` are not specified, so `getLocation` will return `null` for this event.
    Parameters:
      `dsc` - the `DragSourceContext`
    Throws:
      `IllegalArgumentException` - if `dsc` is `null`.
    See Also:
      - `getLocation()`

  - ### DragSourceEvent

    public DragSourceEvent(DragSourceContext dsc, int x, int y)
    Construct a `DragSourceEvent` given a specified `DragSourceContext`, and coordinates of the cursor location.
    Parameters:
      `dsc` - the `DragSourceContext`
      `x` - the horizontal coordinate for the cursor location
      `y` - the vertical coordinate for the cursor location
    Throws:
      `IllegalArgumentException` - if `dsc` is `null`.
    Since:
      1.4

- ## Method Details

  - ### getDragSourceContext

    public DragSourceContext getDragSourceContext()
    This method returns the `DragSourceContext` that originated the event.
    Returns:
      the `DragSourceContext` that originated the event

  - ### getLocation

    public Point getLocation()
    This method returns a `Point` indicating the cursor location in screen coordinates at the moment this event occurred, or `null` if the cursor location is not specified for this event.
    Returns:
      the `Point` indicating the cursor location or `null` if the cursor location is not specified
    Since:
      1.4

  - ### getX

    public int getX()
    This method returns the horizontal coordinate of the cursor location in screen coordinates at the moment this event occurred, or zero if the cursor location is not specified for this event.
    Returns:
      an integer indicating the horizontal coordinate of the cursor location or zero if the cursor location is not specified
    Since:
      1.4

  - ### getY

    public int getY()
    This method returns the vertical coordinate of the cursor location in screen coordinates at the moment this event occurred, or zero if the cursor location is not specified for this event.
    Returns:
      an integer indicating the vertical coordinate of the cursor location or zero if the cursor location is not specified
    Since:
      1.4