# 导入方法

> 原文： [https://docs.oracle.com/javase/tutorial/uiswing/dnd/import.html](https://docs.oracle.com/javase/tutorial/uiswing/dnd/import.html)

现在我们来看看用于将数据导入组件的方法。当组件是操作的目标时，将为放置手势或粘贴操作调用这些方法。用于导入数据的`TransferHandler`方法是：

*   [`canImport(TransferHandler.TransferSupport)`](https://docs.oracle.com/javase/8/docs/api/javax/swing/TransferHandler.html#canImport-javax.swing.TransferHandler.TransferSupport-) - 在拖动手势期间重复调用此方法，如果光标下方的区域可以接受传输，则返回 true;如果传输将被拒绝，则返回 false。例如，如果用户在仅接受文本的组件上拖动颜色，则该组件的`TransferHandler`的`canImport`方法应返回 false。

*   [`importData(TransferHandler.TransferSupport)`](https://docs.oracle.com/javase/8/docs/api/javax/swing/TransferHandler.html#importData-javax.swing.TransferHandler.TransferSupport-) - 成功删除（或粘贴）时调用此方法，并启动数据到目标组件的传输。如果导入成功，则此方法返回 true，否则返回 false。

* * *

**Version note:** 

这些方法替换了不使用`TransferSupport`类的旧版本。与其替换方法不同，`canImport(JComponent, DataFlavor[])`不是连续调用的。

* * *

您会注意到这些导入方法采用`TransferHandler.TransferSupport`参数。接下来我们看一下`TransferSupport`类，然后看一些示例导入方法。