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

Module java.desktop
Package java.awt.dnd

# Class DropTargetContext

java.lang.Object
java.awt.dnd.DropTargetContext

All Implemented Interfaces:
  `Serializable`

    public class DropTargetContext
    extends Object
    implements Serializable

A `DropTargetContext` is created whenever the logical cursor associated with a Drag and Drop operation coincides with the visible geometry of a `Component` associated with a `DropTarget`. The `DropTargetContext` provides the mechanism for a potential receiver of a drop operation to both provide the end user with the appropriate drag under feedback, but also to effect the subsequent data transfer if appropriate.

Since:
  1.2
See Also:
  Serialized Form

- ## Nested Class Summary

  Nested Classes
  Modifier and Type | Class | Description
  --- | --- | ---
  `protected class` | `DropTargetContext.TransferableProxy` | `TransferableProxy` is a helper inner class that implements `Transferable` interface and serves as a proxy for another `Transferable` object which represents data transfer for a particular drag-n-drop operation.

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `protected void` | `acceptDrag​(int dragOperation)` | accept the Drag.
  `protected void` | `acceptDrop​(int dropOperation)` | called to signal that the drop is acceptable using the specified operation.
  `protected Transferable` | `createTransferableProxy​(Transferable t, boolean local)` | Creates a TransferableProxy to proxy for the specified Transferable.
  `void` | `dropComplete​(boolean success)` | This method signals that the drop is completed and if it was successful or not.
  `Component` | `getComponent()` | This method returns the `Component` associated with this `DropTargetContext`.
  `protected DataFlavor[]` | `getCurrentDataFlavors()` | get the available DataFlavors of the `Transferable` operand of this operation.
  `protected List<DataFlavor>` | `getCurrentDataFlavorsAsList()` | This method returns a the currently available DataFlavors of the `Transferable` operand as a `java.util.List`.
  `DropTarget` | `getDropTarget()` | This method returns the `DropTarget` associated with this `DropTargetContext`.
  `protected int` | `getTargetActions()` | This method returns an `int` representing the current actions this `DropTarget` will accept.
  `protected Transferable` | `getTransferable()` | get the Transferable (proxy) operand of this operation
  `protected boolean` | `isDataFlavorSupported​(DataFlavor df)` | This method returns a `boolean` indicating if the given `DataFlavor` is supported by this `DropTargetContext`.
  `protected void` | `rejectDrag()` | reject the Drag.
  `protected void` | `rejectDrop()` | called to signal that the drop is unacceptable.
  `protected void` | `setTargetActions​(int actions)` | This method sets the current actions acceptable to this `DropTarget`.

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

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

- ## Method Details

  - ### getDropTarget

    public DropTarget getDropTarget()
    This method returns the `DropTarget` associated with this `DropTargetContext`.
    Returns:
      the `DropTarget` associated with this `DropTargetContext`

  - ### getComponent

    public Component getComponent()
    This method returns the `Component` associated with this `DropTargetContext`.
    Returns:
      the Component associated with this Context

  - ### setTargetActions

    protected void setTargetActions​(int actions)
    This method sets the current actions acceptable to this `DropTarget`.
    Parameters:
      `actions` - an `int` representing the supported action(s)

  - ### getTargetActions

    protected int getTargetActions()
    This method returns an `int` representing the current actions this `DropTarget` will accept.
    Returns:
      the current actions acceptable to this `DropTarget`

  - ### dropComplete

    public void dropComplete​(boolean success) throws InvalidDnDOperationException
    This method signals that the drop is completed and if it was successful or not.
    Parameters:
      `success` - true for success, false if not
    Throws:
      `InvalidDnDOperationException` - if a drop is not outstanding/extant

  - ### acceptDrag

    protected void acceptDrag​(int dragOperation)
    accept the Drag.
    Parameters:
      `dragOperation` - the supported action(s)

  - ### rejectDrag

    protected void rejectDrag()
    reject the Drag.

  - ### acceptDrop

    protected void acceptDrop​(int dropOperation)
    called to signal that the drop is acceptable using the specified operation. must be called during DropTargetListener.drop method invocation.
    Parameters:
      `dropOperation` - the supported action(s)

  - ### rejectDrop

    protected void rejectDrop()
    called to signal that the drop is unacceptable. must be called during DropTargetListener.drop method invocation.

  - ### getCurrentDataFlavors

    protected DataFlavor[] getCurrentDataFlavors()
    get the available DataFlavors of the `Transferable` operand of this operation.
    Returns:
      a `DataFlavor[]` containing the supported `DataFlavor`s of the `Transferable` operand.

  - ### getCurrentDataFlavorsAsList

    protected List<DataFlavor> getCurrentDataFlavorsAsList()
    This method returns a the currently available DataFlavors of the `Transferable` operand as a `java.util.List`.
    Returns:
      the currently available DataFlavors as a `java.util.List`

  - ### isDataFlavorSupported

    protected boolean isDataFlavorSupported​(DataFlavor df)
    This method returns a `boolean` indicating if the given `DataFlavor` is supported by this `DropTargetContext`.
    Parameters:
      `df` - the `DataFlavor`
    Returns:
      if the `DataFlavor` specified is supported

  - ### getTransferable

    protected Transferable getTransferable() throws InvalidDnDOperationException
    get the Transferable (proxy) operand of this operation
    Returns:
      the `Transferable`
    Throws:
      `InvalidDnDOperationException` - if a drag is not outstanding/extant

  - ### createTransferableProxy

    protected Transferable createTransferableProxy​(Transferable t, boolean local)
    Creates a TransferableProxy to proxy for the specified Transferable.
    Parameters:
      `t` - the `Transferable` to be proxied
      `local` - `true` if `t` represents the result of a local drag-n-drop operation.
    Returns:
      the new `TransferableProxy` instance.