所有类


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 DataFlavor imageFlavor
          DataFlavor 表示 Java Image 类,其中: representationClass = java.awt.Image mimeType = "image/x-java-image"
static DataFlavor javaFileListFlavor
          要将文件列表传入 Java(及基础平台)或从中传出,需要使用此类型/子类型的 DataFlavorjava.util.List 的表示形式类。
static String javaJVMLocalObjectMimeType
          要将一个引用转换为不具有关联 MIME Content 类型的任意 Java 对象引用(跨越 Transferable 接口 WITHIN THE SAME JVM),需要使用具有此类型/子类型的 DataFlavor,其中 representationClass 等于跨越 Transferable 传递的类/接口的类型。
static String javaRemoteObjectMimeType
          为了通过拖放 ACTION_LINK 操作将活动链接传递到 Remote 对象,应该使用 Mime Content 类型的 application/x-java-remote-object,其中 DataFlavor 的表示形式类表示要传输的 Remote 接口的类型。
static String javaSerializedObjectMimeType
          MIME Content 类型的 application/x-java-serialized-object 表示已变得持久的 Java 对象的图形。
static DataFlavor plainTextFlavor
          已过时。 从 1.3 开始。使用 DataFlavor.getReaderForText(Transferable) 代替 Transferable.getTransferData(DataFlavor.plainTextFlavor)
static DataFlavor stringFlavor
          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
 
方法摘要
 Object clone()
          返回此 DataFlavor 的克隆。
 boolean equals(DataFlavor that)
          测试 DataFlavor 与此 DataFlavor 的相等性。
 boolean equals(Object o)
          测试任意 Object 与此 DataFlavor 的相等性。
 boolean equals(String s)
          已过时。 hashCode() 协定不一致,使用 isMimeTypeEqual(String) 来代替。
 Class<?> getDefaultRepresentationClass()
           
 String getDefaultRepresentationClassAsString()
           
 String getHumanPresentableName()
          返回此 DataFlavor 表示的数据格式的得体的名称。
 String getMimeType()
          返回此 DataFlavor 的 MIME 类型字符串。
 String getParameter(String paramName)
          如果 paramName 等于 "humanPresentableName",则返回此 DataFlavor 的得体的名称。
 String getPrimaryType()
          返回此 DataFlavor 的基本 MIME 类型。
 Reader getReaderForText(Transferable transferable)
          获取文本 flavor 的 Reader,如果需要,则为期望的 charset(编码的)解码。
 Class<?> getRepresentationClass()
          返回其对象支持此 DataFlavorClass,当请求此 DataFlavor 时,将返回这些对象。
 String getSubType()
          返回此 DataFlavor 的子 MIME 类型。
static DataFlavor getTextPlainUnicodeFlavor()
          返回表示具有 Unicode 编码的纯文本的 DataFlavor,其中: representationClass = java.io.InputStream mimeType = "text/plain; charset=<platform default Unicode encoding>" Sun 的 Microsoft Windows 实现使用编码 utf-16le
 int hashCode()
          返回此 DataFlavor 的哈希码。
 boolean isFlavorJavaFileListType()
          如果指定的 DataFlavor 表示文件对象的列表,则返回 true。
 boolean isFlavorRemoteObjectType()
          如果指定的 DataFlavor 表示远程对象,则返回 true。
 boolean isFlavorSerializedObjectType()
          如果指定的 DataFlavor 表示序列化对象,则返回 true。
 boolean isFlavorTextType()
          返回此 DataFlavor 是否为 Java 平台的这一实现的有效文本 flavor。
 boolean isMimeTypeEqual(DataFlavor dataFlavor)
          比较两个 DataFlavor 对象的 mimeType
 boolean isMimeTypeEqual(String mimeType)
          返回传入的 MIME 类型的字符串表示形式是否等效于此 DataFlavor 的 MIME 类型。
 boolean isMimeTypeSerializedObject()
          DataFlavor 是否表示序列化对象?
 boolean isRepresentationClassByteBuffer()
          返回此 DataFlavor 的表示形式类是 java.nio.ByteBuffer 还是其子类。
 boolean isRepresentationClassCharBuffer()
          返回此 DataFlavor 的表示形式类是 java.io.Reader 还是其子类。
 boolean isRepresentationClassInputStream()
          DataFlavor 是否表示 java.io.InputStream
 boolean isRepresentationClassReader()
          返回此 DataFlavor 的表示形式类是 java.io.Reader 还是其子类。
 boolean isRepresentationClassRemote()
          如果表示形式类为 Remote,则返回 true。
 boolean isRepresentationClassSerializable()
          如果表示形式类可序列化,则返回 true。
 boolean match(DataFlavor that)
          测试 DataFlavor 与此 DataFlavor 的相等性。
protected  String normalizeMimeType(String mimeType)
          已过时。  
protected  String normalizeMimeTypeParameter(String parameterName, String parameterValue)
          已过时。  
 void readExternal(ObjectInput is)
          从 Serialized 状态还原此 DataFlavor
static DataFlavor selectBestTextFlavor(DataFlavor[] availableFlavors)
          从 DataFlavor 的数组中选择最佳文本 DataFlavor
 void setHumanPresentableName(String humanPresentableName)
          设置此 DataFlavor 表示的数据格式的得体的名称。
 String toString()
          此 DataFlavor 及其参数的字符串表示形式。
protected static Class<?> tryToLoadClass(String className, ClassLoader fallback)
          试图从以下位置加载类:引导加载器、系统加载器、上下文加载器(如果已存在一个)和指定的最终加载器。
 void writeExternal(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

微信小程序

微信扫一扫体验

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部