JavaTM Platform
Standard Ed. 6

接口 java.awt.datatransfer.Transferable
的使用

使用 Transferable 的软件包
java.awt.datatransfer 提供在应用程序之间和在应用程序内部传输数据的接口和类。 
java.awt.dnd Drag 和 Drop 是一种直接操作动作,在许多图形用户界面系统中都会遇到它,它提供了一种机制,能够在两个与 GUI 中显示元素逻辑相关的实体之间传输信息。 
javax.activation   
javax.swing 提供一组“轻量级”(全部是 Java 语言)组件,尽量让这些组件在所有平台上的工作方式都相同。 
 

java.awt.datatransferTransferable 的使用
 

实现 Transferablejava.awt.datatransfer 中的类
 class StringSelection
          实现传输 String 所需能力的 Transferable
 

声明为 Transferablejava.awt.datatransfer 中的字段
protected  Transferable Clipboard.contents
           
 

返回 Transferablejava.awt.datatransfer 中的方法
 Transferable Clipboard.getContents(Object requestor)
          返回表示剪贴板当前内容的 transferable 对象。
 

参数类型为 Transferablejava.awt.datatransfer 中的方法
 Reader DataFlavor.getReaderForText(Transferable transferable)
          获取文本 flavor 的 Reader,如果需要,则为期望的 charset(编码的)解码。
 void StringSelection.lostOwnership(Clipboard clipboard, Transferable contents)
           
 void ClipboardOwner.lostOwnership(Clipboard clipboard, Transferable contents)
          通知此对象,它已不再是剪贴板所有者。
 void Clipboard.setContents(Transferable contents, ClipboardOwner owner)
          将剪贴板的当前内容设置到指定的 transferable 对象,并将指定的剪贴板所有者作为新内容的所有者注册。
 

java.awt.dndTransferable 的使用
 

实现 Transferablejava.awt.dnd 中的类
protected  class DropTargetContext.TransferableProxy
          TransferableProxy 是一个帮助器内部类,它实现 Transferable 接口,并用作另一个表示特定 drag-n-drop(拖放)操作数据转换的 Transferable 对象的代理。
 

声明为 Transferablejava.awt.dnd 中的字段
protected  Transferable DropTargetContext.TransferableProxy.transferable
          封装的 Transferable 对象。
 

返回 Transferablejava.awt.dnd 中的方法
protected  Transferable DropTargetContext.createTransferableProxy(Transferable t, boolean local)
          创建一个代理指定 Transferable 的 TransferableProxy。
 Transferable DragSourceContext.getTransferable()
          返回与此 DragSourceContext 关联的 Transferable
 Transferable DropTargetDragEvent.getTransferable()
          此方法返回 Transferable 对象,该对象表示与当前的 drag 操作有关的数据。
 Transferable DropTargetDropEvent.getTransferable()
          此方法返回与 drop 相关的 Transferable 对象。
protected  Transferable DropTargetContext.getTransferable()
          获取此操作的 Transferable(代理)操作数
 

参数类型为 Transferablejava.awt.dnd 中的方法
protected  DragSourceContext DragSource.createDragSourceContext(java.awt.dnd.peer.DragSourceContextPeer dscp, DragGestureEvent dgl, Cursor dragCursor, Image dragImage, Point imageOffset, Transferable t, DragSourceListener dsl)
          创建处理此拖动的 DragSourceContext
protected  Transferable DropTargetContext.createTransferableProxy(Transferable t, boolean local)
          创建一个代理指定 Transferable 的 TransferableProxy。
 void DragGestureEvent.startDrag(Cursor dragCursor, Image dragImage, Point imageOffset, Transferable transferable, DragSourceListener dsl)
          在给定要显示的初始 Cursor、拖动 ImageImage 的偏移量、Transferable 对象和要使用的 DragSourceListener 的情况下开始拖动。
 void DragGestureEvent.startDrag(Cursor dragCursor, Transferable transferable)
          在给定拖动操作的 Cursor 和表示拖动操作源数据的 Transferable 的情况下开始拖动此操作。
 void DragGestureEvent.startDrag(Cursor dragCursor, Transferable transferable, DragSourceListener dsl)
          在给定要显示的初始 CursorTransferable 对象和要使用的 DragSourceListener 的情况下开始拖动。
 void DragSource.startDrag(DragGestureEvent trigger, Cursor dragCursor, Image dragImage, Point dragOffset, Transferable transferable, DragSourceListener dsl)
          在给定发起拖动的 DragGestureEvent、使用的初始 Cursor、要拖动的 ImageImage 原点距离触发时 Cursor 热点的偏移量、拖动的目标数据和 DragSourceListener 的情况下开始拖动。
 void DragSource.startDrag(DragGestureEvent trigger, Cursor dragCursor, Image dragImage, Point imageOffset, Transferable transferable, DragSourceListener dsl, FlavorMap flavorMap)
          在给定发起拖动的 DragGestureEvent、使用的初始 Cursor、要拖动的 ImageImage 原点距离触发时 Cursor 热点的偏移量、拖动的 Transferable 目标数据、DragSourceListenerFlavorMap 的情况下开始拖动。
 void DragSource.startDrag(DragGestureEvent trigger, Cursor dragCursor, Transferable transferable, DragSourceListener dsl)
          在给定发起拖动的 DragGestureEvent、使用的初始 Cursor、拖动的 Transferable 目标数据和 DragSourceListener 的情况下开始拖动。
 void DragSource.startDrag(DragGestureEvent trigger, Cursor dragCursor, Transferable transferable, DragSourceListener dsl, FlavorMap flavorMap)
          在给定发起拖动的 DragGestureEvent、使用的初始 Cursor、拖动的 Transferable 目标数据、DragSourceListenerFlavorMap 的情况下开始拖动。
 

参数类型为 Transferablejava.awt.dnd 中的构造方法
DragSourceContext(java.awt.dnd.peer.DragSourceContextPeer dscp, DragGestureEvent trigger, Cursor dragCursor, Image dragImage, Point offset, Transferable t, DragSourceListener dsl)
          从 DragSource 调用,此构造方法创建一个新 DragSourceContext,使其具有为此 Drag 指定的 DragSourceContextPeer、触发该 Drag 的 DragGestureEvent、用于该 Drag 的初始 Cursor、进行 Drag 时显示的 Image(可选)、Image 原点与触发事件时距离热点的偏移量、Transferable 目标数据、Drag 和 Drop 操作期间使用的 DragSourceListener
 

javax.activationTransferable 的使用
 

实现 Transferablejavax.activation 中的类
 class DataHandler
          DataHandler 类为在多种不同源和格式下可用的数据提供一致的接口。
 

javax.swingTransferable 的使用
 

返回 Transferablejavax.swing 中的方法
protected  Transferable TransferHandler.createTransferable(JComponent c)
          创建一个要用作数据传输源的 Transferable
 Transferable TransferHandler.TransferSupport.getTransferable()
          返回与此传输关联的 Transferable
 

参数类型为 Transferablejavax.swing 中的方法
protected  void TransferHandler.exportDone(JComponent source, Transferable data, int action)
          在导出数据之后调用。
 Icon TransferHandler.getVisualRepresentation(Transferable t)
          返回一个建立传输外观的对象。
 boolean TransferHandler.importData(JComponent comp, Transferable t)
          导致从剪贴板或 DND 放置操作向组件的传输。
 

参数类型为 Transferablejavax.swing 中的构造方法
TransferHandler.TransferSupport(Component component, Transferable transferable)
          使用给定组件和 Transferable 创建一个 TransferSupport,对于该 TransferSupport isDrop() 返回 false
 


JavaTM Platform
Standard Ed. 6

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策