# 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`

- ## 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`

  ### Methods declared in class Object

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

- ## 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