所有类


java.awt.datatransfer
类 DataFlavor

java.lang.Object
  继承者 java.awt.datatransfer.DataFlavor
所有已实现的接口:
Externalizable, Serializable, Cloneable

public class DataFlavor
   
   
   
   
   
extends Object
implements Externalizable, Cloneable

每个实例都表示数据格式的不透明概念,无论其显示在剪贴板上,在拖放过程中还是在文件系统中。

DataFlavor 对象是恒定不变的,一旦实例化就永远不再更改。

有关如何使用 Swing 进行数据传输的信息,请参阅《The Java Tutorial》中的 How to Use Drag and Drop and Data Transfer 一节。

另请参见:
序列化表格

字段摘要
static DataFlavorimageFlavor
          DataFlavor 表示 Java Image 类,其中: representationClass = java.awt.Image mimeType = "image/x-java-image"
static DataFlavorjavaFileListFlavor
          要将文件列表传入 Java(及基础平台)或从中传出,需要使用此类型/子类型的 DataFlavorjava.util.List 的表示形式类。
static StringjavaJVMLocalObjectMimeType
          要将一个引用转换为不具有关联 MIME Content 类型的任意 Java 对象引用(跨越 Transferable 接口 WITHIN THE SAME JVM),需要使用具有此类型/子类型的 DataFlavor,其中 representationClass 等于跨越 Transferable 传递的类/接口的类型。
static StringjavaRemoteObjectMimeType
          为了通过拖放 ACTION_LINK 操作将活动链接传递到 Remote 对象,应该使用 Mime Content 类型的 application/x-java-remote-object,其中 DataFlavor 的表示形式类表示要传输的 Remote 接口的类型。
static StringjavaSerializedObjectMimeType
          MIME Content 类型的 application/x-java-serialized-object 表示已变得持久的 Java 对象的图形。
static DataFlavorplainTextFlavor
          已过时。 从 1.3 开始。使用 DataFlavor.getReaderForText(Transferable) 代替 Transferable.getTransferData(DataFlavor.plainTextFlavor)
static DataFlavorstringFlavor
          DataFlavor 表示 Java Unicode String 类,其中: representationClass = java.lang.String mimeType = "application/x-java-serialized-object"
 
构造方法摘要
DataFlavor()
          构造一个新的 DataFlavor
DataFlavor(Class<?> representationClass, String humanPresentableName)
          构造一个表示 Java 类的 DataFlavor
DataFlavor(String mimeType)
          从 mimeType 字符串构造 DataFlavor
DataFlavor(String mimeType, String humanPresentableName)
          构造一个表示 MimeTypeDataFlavor
DataFlavor(String mimeType, String humanPresentableName, ClassLoader classLoader)
          构造一个表示 MimeTypeDataFlavor
 
方法摘要
 Objectclone()
          返回此 DataFlavor 的克隆。
 booleanequals(DataFlavor that)
          测试 DataFlavor 与此 DataFlavor 的相等性。
 booleanequals(Object o)
          测试任意 Object 与此 DataFlavor 的相等性。
 booleanequals(String s)
          已过时。 hashCode() 协定不一致,使用 isMimeTypeEqual(String) 来代替。
 Class<?>getDefaultRepresentationClass()
           
 StringgetDefaultRepresentationClassAsString()
           
 StringgetHumanPresentableName()
          返回此 DataFlavor 表示的数据格式的得体的名称。
 StringgetMimeType()
          返回此 DataFlavor 的 MIME 类型字符串。
 StringgetParameter(String paramName)
          如果 paramName 等于 "humanPresentableName",则返回此 DataFlavor 的得体的名称。
 StringgetPrimaryType()
          返回此 DataFlavor 的基本 MIME 类型。
 ReadergetReaderForText(Transferable transferable)
          获取文本 flavor 的 Reader,如果需要,则为期望的 charset(编码的)解码。
 Class<?>getRepresentationClass()
          返回其对象支持此 DataFlavorClass,当请求此 DataFlavor 时,将返回这些对象。
 StringgetSubType()
          返回此 DataFlavor 的子 MIME 类型。
static DataFlavorgetTextPlainUnicodeFlavor()
          返回表示具有 Unicode 编码的纯文本的 DataFlavor,其中: representationClass = java.io.InputStream mimeType = "text/plain; charset=<platform default Unicode encoding>" Sun 的 Microsoft Windows 实现使用编码 utf-16le
 inthashCode()
          返回此 DataFlavor 的哈希码。
 booleanisFlavorJavaFileListType()
          如果指定的 DataFlavor 表示文件对象的列表,则返回 true。
 booleanisFlavorRemoteObjectType()
          如果指定的 DataFlavor 表示远程对象,则返回 true。
 booleanisFlavorSerializedObjectType()
          如果指定的 DataFlavor 表示序列化对象,则返回 true。
 booleanisFlavorTextType()
          返回此 DataFlavor 是否为 Java 平台的这一实现的有效文本 flavor。
 booleanisMimeTypeEqual(DataFlavor dataFlavor)
          比较两个 DataFlavor 对象的 mimeType
 booleanisMimeTypeEqual(String mimeType)
          返回传入的 MIME 类型的字符串表示形式是否等效于此 DataFlavor 的 MIME 类型。
 booleanisMimeTypeSerializedObject()
          DataFlavor 是否表示序列化对象?
 booleanisRepresentationClassByteBuffer()
          返回此 DataFlavor 的表示形式类是 java.nio.ByteBuffer 还是其子类。
 booleanisRepresentationClassCharBuffer()
          返回此 DataFlavor 的表示形式类是 java.io.Reader 还是其子类。
 booleanisRepresentationClassInputStream()
          DataFlavor 是否表示 java.io.InputStream
 booleanisRepresentationClassReader()
          返回此 DataFlavor 的表示形式类是 java.io.Reader 还是其子类。
 booleanisRepresentationClassRemote()
          如果表示形式类为 Remote,则返回 true。
 booleanisRepresentationClassSerializable()
          如果表示形式类可序列化,则返回 true。
 booleanmatch(DataFlavor that)
          测试 DataFlavor 与此 DataFlavor 的相等性。
protected  StringnormalizeMimeType(String mimeType)
          已过时。  
protected  StringnormalizeMimeTypeParameter(String parameterName, String parameterValue)
          已过时。  
 voidreadExternal(ObjectInput is)
          从 Serialized 状态还原此 DataFlavor
static DataFlavorselectBestTextFlavor(DataFlavor[] availableFlavors)
          从 DataFlavor 的数组中选择最佳文本 DataFlavor
 voidsetHumanPresentableName(String humanPresentableName)
          设置此 DataFlavor 表示的数据格式的得体的名称。
 StringtoString()
          此 DataFlavor 及其参数的字符串表示形式。
protected static Class<?>tryToLoadClass(String className, ClassLoader fallback)
          试图从以下位置加载类:引导加载器、系统加载器、上下文加载器(如果已存在一个)和指定的最终加载器。
 voidwriteExternal(ObjectOutput os)
          序列化此 DataFlavor
 
从类 java.lang.Object 继承的方法
finalize, getClass, notify, notifyAll, wait, wait, wait
 

字段详细信息

stringFlavor

public static final DataFlavor stringFlavor
DataFlavor 表示 Java Unicode String 类,其中:
     representationClass = java.lang.String
     mimeType           = "application/x-java-serialized-object"        
 


imageFlavor

public static final DataFlavor imageFlavor
DataFlavor 表示 Java Image 类,其中:
     representationClass = java.awt.Image
     mimeType            = "image/x-java-image"
 


plainTextFlavor

@Deprecated
public static final DataFlavor plainTextFlavor
已过时。 从 1.3 开始。使用 DataFlavor.getReaderForText(Transferable) 代替 Transferable.getTransferData(DataFlavor.plainTextFlavor)
DataFlavor 表示使用 Unicode 编码的纯文本,其中:
     representationClass = InputStream
     mimeType            = "text/plain; charset=unicode"
 
DataFlavor废弃,因为 (1) 其表示形式为 InputStream,一个基于 8 位的表示形式,而 Unicode 是一个 16 位的字符集;(2) charset "unicode" 不是意义明确的。"unicode" 意味着特定平台的 Unicode 实现,而不是跨平台的实现。


javaSerializedObjectMimeType

public static final String javaSerializedObjectMimeType
MIME Content 类型的 application/x-java-serialized-object 表示已变得持久的 Java 对象的图形。与此 DataFlavor 关联的表示形式类可以识别对象的 Java 类型,该对象是作为来自调用 java.awt.datatransfer.getTransferData 的引用返回的。

另请参见:
常量字段值

javaFileListFlavor

public static final DataFlavor javaFileListFlavor
要将文件列表传入 Java(及基础平台)或从中传出,需要使用此类型/子类型的 DataFlavorjava.util.List 的表示形式类。要求/保证列表的每个元素都是 java.io.File 类型。


javaJVMLocalObjectMimeType

public static final String javaJVMLocalObjectMimeType
要将一个引用转换为不具有关联 MIME Content 类型的任意 Java 对象引用(跨越 Transferable 接口 WITHIN THE SAME JVM),需要使用具有此类型/子类型的 DataFlavor,其中 representationClass 等于跨越 Transferable 传递的类/接口的类型。

对于具有此 MIME Content 类型的 DataFlavor,从 Transferable.getTransferData 返回的对象引用必须是 DataFlavor 的表示形式类的实例。

另请参见:
常量字段值

javaRemoteObjectMimeType

public static final String javaRemoteObjectMimeType
为了通过拖放 ACTION_LINK 操作将活动链接传递到 Remote 对象,应该使用 Mime Content 类型的 application/x-java-remote-object,其中 DataFlavor 的表示形式类表示要传输的 Remote 接口的类型。

另请参见:
常量字段值
构造方法详细信息

DataFlavor

public DataFlavor()
构造一个新的 DataFlavor。提供此构造方法的目的仅为支持 Externalizable 接口。它不是为公共(客户端)使用的。

从以下版本开始:
1.2