Uses of Interface java.awt.datatransfer.Transferable (Java SE 11 & JDK 11 )

## Uses of Interface
java.awt.datatransfer.Transferable

- Packages that use Transferable
  Package | Description
  --- | ---
  java.awt.datatransfer | Provides interfaces and classes for transferring data between and within applications.
  java.awt.dnd | Drag and Drop is a direct manipulation gesture found in many Graphical User Interface systems that provides a mechanism to transfer information between two entities logically associated with presentation elements in the GUI.
  javax.swing | Provides a set of "lightweight" (all-Java language) components that, to the maximum degree possible, work the same on all platforms.

- - ### Uses of Transferable in java.awt.datatransfer

    Classes in java.awt.datatransfer that implement Transferable
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `StringSelection` | A `Transferable` which implements the capability required to transfer a `String`.

    Fields in java.awt.datatransfer declared as Transferable
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected Transferable` | Clipboard.`contents` | Contents of the clipboard.

    Methods in java.awt.datatransfer that return Transferable
    Modifier and Type | Method | Description
    --- | --- | ---
    `Transferable` | Clipboard.`getContents​(Object requestor)` | Returns a transferable object representing the current contents of the clipboard.

    Methods in java.awt.datatransfer with parameters of type Transferable
    Modifier and Type | Method | Description
    --- | --- | ---
    `Reader` | DataFlavor.`getReaderForText​(Transferable transferable)` | Gets a Reader for a text flavor, decoded, if necessary, for the expected charset (encoding).
    `void` | ClipboardOwner.`lostOwnership​(Clipboard clipboard, Transferable contents)` | Notifies this object that it is no longer the clipboard owner.
    `void` | Clipboard.`setContents​(Transferable contents, ClipboardOwner owner)` | Sets the current contents of the clipboard to the specified transferable object and registers the specified clipboard owner as the owner of the new contents.

  - ### Uses of Transferable in java.awt.dnd

    Classes in java.awt.dnd that implement Transferable
    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.

    Fields in java.awt.dnd declared as Transferable
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected Transferable` | DropTargetContext.TransferableProxy.`transferable` | The encapsulated `Transferable` object.

    Methods in java.awt.dnd that return Transferable
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected Transferable` | DropTargetContext.`createTransferableProxy​(Transferable t, boolean local)` | Creates a TransferableProxy to proxy for the specified Transferable.
    `Transferable` | DragSourceContext.`getTransferable()` | Returns the `Transferable` associated with this `DragSourceContext`.
    `protected Transferable` | DropTargetContext.`getTransferable()` | get the Transferable (proxy) operand of this operation
    `Transferable` | DropTargetDragEvent.`getTransferable()` | This method returns the Transferable object that represents the data associated with the current drag operation.
    `Transferable` | DropTargetDropEvent.`getTransferable()` | This method returns the `Transferable` object associated with the drop.

    Methods in java.awt.dnd with parameters of type Transferable
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected DragSourceContext` | DragSource.`createDragSourceContext​(DragGestureEvent dgl, Cursor dragCursor, Image dragImage, Point imageOffset, Transferable t, DragSourceListener dsl)` | Creates the `DragSourceContext` to handle the current drag operation.
    `protected Transferable` | DropTargetContext.`createTransferableProxy​(Transferable t, boolean local)` | Creates a TransferableProxy to proxy for the specified Transferable.
    `void` | DragGestureEvent.`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` | DragGestureEvent.`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` | DragGestureEvent.`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.
    `void` | DragSource.`startDrag​(DragGestureEvent trigger, Cursor dragCursor, Transferable transferable, DragSourceListener dsl)` | Start a drag, given the `DragGestureEvent` that initiated the drag, the initial `Cursor` to use, the `Transferable` subject data of the drag, and the `DragSourceListener`.
    `void` | DragSource.`startDrag​(DragGestureEvent trigger, Cursor dragCursor, Transferable transferable, DragSourceListener dsl, FlavorMap flavorMap)` | Start a drag, given the `DragGestureEvent` that initiated the drag, the initial `Cursor` to use, the `Transferable` subject data of the drag, the `DragSourceListener`, and the `FlavorMap`.
    `void` | DragSource.`startDrag​(DragGestureEvent trigger, Cursor dragCursor, Image dragImage, Point dragOffset, Transferable transferable, DragSourceListener dsl)` | Start a drag, given the `DragGestureEvent` that initiated the drag, the initial `Cursor` to use, the `Image` to drag, the offset of the `Image` origin from the hotspot of the `Cursor` at the instant of the trigger, the subject data of the drag, and the `DragSourceListener`.
    `void` | DragSource.`startDrag​(DragGestureEvent trigger, Cursor dragCursor, Image dragImage, Point imageOffset, Transferable transferable, DragSourceListener dsl, FlavorMap flavorMap)` | Start a drag, given the `DragGestureEvent` that initiated the drag, the initial `Cursor` to use, the `Image` to drag, the offset of the `Image` origin from the hotspot of the `Cursor` at the instant of the trigger, the `Transferable` subject data of the drag, the `DragSourceListener`, and the `FlavorMap`.

    Constructors in java.awt.dnd with parameters of type Transferable
    Constructor | Description
    --- | ---
    `DragSourceContext​(DragGestureEvent trigger, Cursor dragCursor, Image dragImage, Point offset, Transferable t, DragSourceListener dsl)` | Called from `DragSource`, this constructor creates a new `DragSourceContext` given the `DragSourceContextPeer` for this Drag, the `DragGestureEvent` that triggered the Drag, the initial `Cursor` to use for the Drag, an (optional) `Image` to display while the Drag is taking place, the offset of the `Image` origin from the hotspot at the instant of the triggering event, the `Transferable` subject data, and the `DragSourceListener` to use during the Drag and Drop operation.

  - ### Uses of Transferable in javax.swing

    Methods in javax.swing that return Transferable
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected Transferable` | TransferHandler.`createTransferable​(JComponent c)` | Creates a `Transferable` to use as the source for a data transfer.
    `Transferable` | TransferHandler.TransferSupport.`getTransferable()` | Returns the `Transferable` associated with this transfer.

    Methods in javax.swing with parameters of type Transferable
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected void` | TransferHandler.`exportDone​(JComponent source, Transferable data, int action)` | Invoked after data has been exported.
    `Icon` | TransferHandler.`getVisualRepresentation​(Transferable t)` | Returns an object that establishes the look of a transfer.
    `boolean` | TransferHandler.`importData​(JComponent comp, Transferable t)` | Causes a transfer to a component from a clipboard or a DND drop operation.

    Constructors in javax.swing with parameters of type Transferable
    Constructor | Description
    --- | ---
    `TransferSupport​(Component component, Transferable transferable)` | Create a `TransferSupport` with `isDrop()` `false` for the given component and `Transferable`.