Transferable (Java Platform SE 8 )
Keywords: java.awt.datatransfer.Transferable interface
Date: 2026-04-24

java.awt.datatransfer

## Interface Transferable

- All Known Implementing Classes:
    DataHandler, DropTargetContext.TransferableProxy, StringSelection

      public interface Transferable

  Defines the interface for classes that can be used to provide data for a transfer operation.

  For information on using data transfer with Swing, see How to Use Drag and Drop and Data Transfer, a section in The Java Tutorial, for more information.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `Object` | `getTransferData(DataFlavor flavor)` Returns an object which represents the data to be transferred.
    `DataFlavor[]` | `getTransferDataFlavors()` Returns an array of DataFlavor objects indicating the flavors the data can be provided in.
    `boolean` | `isDataFlavorSupported(DataFlavor flavor)` Returns whether or not the specified data flavor is supported for this object.

- - ### Method Detail

    - #### getTransferDataFlavors

          DataFlavor[] getTransferDataFlavors()

      Returns an array of DataFlavor objects indicating the flavors the data can be provided in. The array should be ordered according to preference for providing the data (from most richly descriptive to least descriptive).
      Returns:
        an array of data flavors in which this data can be transferred

    - #### isDataFlavorSupported

          boolean isDataFlavorSupported(DataFlavor flavor)

      Returns whether or not the specified data flavor is supported for this object.
      Parameters:
        `flavor` - the requested flavor for the data
      Returns:
        boolean indicating whether or not the data flavor is supported

    - #### getTransferData

          Object getTransferData(DataFlavor flavor)
                          throws UnsupportedFlavorException,
                                 IOException

      Returns an object which represents the data to be transferred. The class of the object returned is defined by the representation class of the flavor.
      Parameters:
        `flavor` - the requested flavor for the data
      Throws:
        `IOException` - if the data is no longer available in the requested flavor.
        `UnsupportedFlavorException` - if the requested data flavor is not supported.
      See Also:
        `DataFlavor.getRepresentationClass()`

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.