- java.lang.Object
-
- java.awt.datatransfer.DataFlavor
-
- 实现的所有接口
-
Externalizable,Serializable,Cloneable
public class DataFlavor extends Object implements Externalizable, Cloneable
DataFlavor提供有关数据的元信息。DataFlavor通常用于访问剪贴板上的数据,或者在拖放操作期间访问数据。DataFlavor的实例封装了RFC 2045和RFC 2046中定义的内容类型。 内容类型通常称为MIME类型。内容类型由媒体类型(称为主要类型),子类型和可选参数组成。 有关MIME类型语法的详细信息,请参见RFC 2045 。
JRE数据传输实现将MIME类型的参数“class”解释为表示类 。 表示类反映了要传输的对象的类。 换句话说,表示类是由
Transferable.getTransferData(java.awt.datatransfer.DataFlavor)返回的对象的类型。 例如,MIME类型imageFlavor是"image/x-java-image;class=java.awt.Image",主要类型是image,子类型是x-java-image,表示类是java.awt.Image。 当getTransferData与调用DataFlavor的imageFlavor,实例java.awt.Image返回。 重要的是要注意DataFlavor没有对表示类进行错误检查。DataFlavor消费者,例如Transferable,以表彰代表类。
请注意,如果在创建DataFlavor时未指定表示类,则使用默认表示形式类。 请参阅DataFlavor的构造函数的相应文档。此外,具有“text”主MIME类型的
DataFlavor实例可能具有“charset”参数。 有关“text”MIME类型和“charset”参数的详细信息,请参阅RFC 2046和selectBestTextFlavor(java.awt.datatransfer.DataFlavor[])。DataFlavors平等由主类型,子类型和表示类确定。 有关详细信息,请参阅equals(DataFlavor)。 确定相等性时,将忽略任何可选参数。 例如,以下产生两个被认为相同的DataFlavors:DataFlavor flavor1 = new DataFlavor(Object.class, "X-test/test; class=<java.lang.Object>; foo=bar"); DataFlavor flavor2 = new DataFlavor(Object.class, "X-test/test; class=<java.lang.Object>; x=y"); // The following returns true. flavor1.equals(flavor2);如上所述,flavor1和flavor2被认为是相同的。 因此,向Transferable询问DataFlavor返回相同的结果。有关使用Swing进行数据传输的更多信息,请参阅The Java Tutorial中的How to Use Drag and Drop and Data Transfer部分。
- 从以下版本开始:
- 1.1
- 另请参见:
- Serialized Form
-
-
字段汇总
字段 变量和类型 字段 描述 static DataFlavorallHtmlFlavor表示一段HTML标记。static DataFlavorfragmentHtmlFlavor表示一段HTML标记。static DataFlavorimageFlavorDataFlavor代表Java Image类,其中:static DataFlavorjavaFileListFlavor到文件的列表传送到/从Java(和底层平台)一个DataFlavor此类型/子类型和表示类的java.util.List被使用。static StringjavaJVMLocalObjectMimeType转移到不具有关联的MIME内容类型的任意Java对象基准的基准,穿过一个Transferable接口WITHIN THE SAME JVM中,DataFlavor与此类型/子类型时,用representationClass等于类/接口的类型正在通过Transferable。static StringjavaRemoteObjectMimeType为了通过拖放ACTION_LINK操作将实时链接传递给远程对象,ACTION_LINK使用Mime内容类型的application / x-java-remote-object,其中DataFlavor的表示类表示Remote接口的类型被转移。static StringjavaSerializedObjectMimeTypeMIME内容类型application / x-java-serialized-object表示已成为持久性的Java对象的图形。static DataFlavorplainTextFlavor已过时。截至1.3。static DataFlavorselectionHtmlFlavor表示一段HTML标记。static DataFlavorstringFlavorDataFlavor表示Java Unicode String类,其中:
-
构造方法摘要
构造方法 构造器 描述 DataFlavor()构造一个新的DataFlavor。DataFlavor(类<?> representationClass, String humanPresentableName)构造一个代表Java类的DataFlavor。DataFlavor(String mimeType)构造一个DataFlavor从mimeType字符串。DataFlavor(String mimeType, String humanPresentableName)构造一个DataFlavor一个表示MimeType。DataFlavor(String mimeType, String humanPresentableName, ClassLoader classLoader)构造一个DataFlavor一个表示MimeType。
-
方法摘要
所有方法 静态方法 实例方法 具体的方法 弃用的方法 变量和类型 方法 描述 Objectclone()返回此DataFlavor。booleanequals(DataFlavor that)此方法与equals(Object)具有相同的行为。booleanequals(Object o)指示某个其他对象是否“等于”此对象。booleanequals(String s)已过时。由于与hashCode()合同不一致,请改用isMimeTypeEqual(String)。类<?>getDefaultRepresentationClass()返回默认的表示形式类。StringgetDefaultRepresentationClassAsString()返回默认表示形式的名称。StringgetHumanPresentableName()返回此DataFlavor表示的数据格式的人类可呈现名称。StringgetMimeType()返回此DataFlavor的MIME类型字符串。StringgetParameter(String paramName)如果paramName等于“humanPresentableName”,则返回此DataFlavor的人类可呈现名称。StringgetPrimaryType()返回此DataFlavor的主要MIME类型。ReadergetReaderForText(Transferable transferable)获取文本flavor的Reader,如果需要,为预期的charset(编码)解码。类<?>getRepresentationClass()返回类其对象支持此DataFlavor时,这将返回DataFlavor要求。StringgetSubType()返回此DataFlavor的子MIME类型。static DataFlavorgetTextPlainUnicodeFlavor()返回表示Unicode编码的纯文本的DataFlavor,其中:inthashCode()返回此DataFlavor哈希码。booleanisFlavorJavaFileListType()如果指定的DataFlavor表示文件对象列表,则返回true。booleanisFlavorRemoteObjectType()如果指定的DataFlavor表示远程对象,则返回true。booleanisFlavorSerializedObjectType()如果指定的DataFlavor表示序列化对象,则返回true。booleanisFlavorTextType()返回此DataFlavor是否是此Java平台实现的有效文本flavor。booleanisMimeTypeEqual(DataFlavor dataFlavor)比较mimeType两个DataFlavor对象。booleanisMimeTypeEqual(String mimeType)返回传入的MIME类型的字符串表示形式是否等效于此DataFlavor的MIME类型。booleanisMimeTypeSerializedObject()DataFlavor是否代表序列化对象?booleanisRepresentationClassByteBuffer()返回此DataFlavor的表示类是java.nio.ByteBuffer还是其子类。booleanisRepresentationClassCharBuffer()返回此DataFlavor的表示类是java.nio.CharBuffer还是其子类。booleanisRepresentationClassInputStream()DataFlavor代表java.io.InputStream吗?booleanisRepresentationClassReader()返回此DataFlavor的表示形式类是java.io.Reader还是其子类。booleanisRepresentationClassRemote()返回true如果表示形式类为Remote。booleanisRepresentationClassSerializable()如果可以序列化表示类,则返回true。booleanmatch(DataFlavor that)与equals(DataFlavor)相同。protected StringnormalizeMimeType(String mimeType)已过时。从1.1开始,此实现永远不会调用此方法protected StringnormalizeMimeTypeParameter(String parameterName, String parameterValue)已过时。从1.1开始,此实现永远不会调用此方法voidreadExternal(ObjectInput is)从序列化状态恢复此DataFlavor。static DataFlavorselectBestTextFlavor(DataFlavor[] availableFlavors)从DataFlavors数组中选择最佳文本DataFlavor。voidsetHumanPresentableName(String humanPresentableName)设置此DataFlavor表示的数据格式的人类可呈现名称。StringtoString()此DataFlavor字符串表示形式及其参数。protected static 类<?>tryToLoadClass(String className, ClassLoader fallback)尝试从以下方面加载类:引导加载程序,系统加载程序,上下文加载程序(如果存在)以及最后指定的加载程序。voidwriteExternal(ObjectOutput os)序列化此DataFlavor。
-
-
-
字段详细信息
-
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"将是null如果java.awt.Image不到java.desktop则未加载java.desktop模块,或者java.desktop模块不在运行库映像中。
-
plainTextFlavor
@Deprecated public static final DataFlavor plainTextFlavor
Deprecated.as of 1.3. UsegetReaderForText(java.awt.datatransfer.Transferable)instead ofTransferable.getTransferData(DataFlavor.plainTextFlavor).DataFlavor用Unicode编码表示纯文本,其中:representationClass = InputStream mimeType = "text/plain; charset=unicode"此DataFlavor已被弃用,原因是:- 它的表示是一个InputStream,一个基于8位的表示,而Unicode是一个16位字符集
- 字符集“unicode”没有明确定义。 “unicode”意味着特定平台的Unicode实现,而不是跨平台实现
-
javaSerializedObjectMimeType
public static final String javaSerializedObjectMimeType
MIME内容类型application / x-java-serialized-object表示已成为持久性的Java对象的图形。与此
DataFlavor关联的表示形式类标识从调用java.awt.datatransfer.getTransferData作为引用返回的对象的Java类型。- 另请参见:
- 常数字段值
-
javaFileListFlavor
public static final DataFlavor javaFileListFlavor
到文件的列表传送到/从Java(和底层平台)一个DataFlavor此类型/子类型和表示类的java.util.List被使用。 列表的每个元素都必须/保证是java.io.File类型。
-
javaJVMLocalObjectMimeType
public static final String javaJVMLocalObjectMimeType
转移到不具有关联的MIME内容类型的任意Java对象基准的基准,穿过一个Transferable接口WITHIN THE SAME JVM中,DataFlavor与此类型/子类型时,用representationClass等于类/接口的类型正在通过Transferable。对于具有此MIME Content-Type的
DataFlavor,从Transferable.getTransferData返回的对象引用Transferable.getTransferData是DataFlavor的表示类的DataFlavor。- 另请参见:
- 常数字段值
-
javaRemoteObjectMimeType
public static final String javaRemoteObjectMimeType
为了通过拖放ACTION_LINK操作将实时链接传递给远程对象,ACTION_LINK使用Mime内容类型的application / x-java-remote-object,其中DataFlavor的表示类表示Remote接口的类型被转移。- 另请参见:
- 常数字段值
-
selectionHtmlFlavor
public static DataFlavor selectionHtmlFlavor
表示一段HTML标记。 标记由源侧选择的部分组成。 因此,标记中的某些标记可能是不成对的。 如果使用flavor来表示Transferable实例中的数据,则不会进行其他更改。 此DataFlavor实例表示与DataFlavor实例相同的HTML标记,其中内容MIME类型不包含文档参数,表示类是String类。representationClass = String mimeType = "text/html"- 从以下版本开始:
- 1.8
-
fragmentHtmlFlavor
public static DataFlavor fragmentHtmlFlavor
表示一段HTML标记。 如果可能的话,从本机系统接收的标记补充了对标签,以成为格式良好的HTML标记。 如果使用flavor来表示Transferable实例中的数据,则不会进行其他更改。representationClass = String mimeType = "text/html"- 从以下版本开始:
- 1.8
-
allHtmlFlavor
public static DataFlavor allHtmlFlavor
表示一段HTML标记。 如果可能,从本机系统接收的标记补充了额外的标记,以构成格式良好的HTML文档。 如果使用flavor来表示Transferable实例中的数据,则不会进行其他更改。representationClass = String mimeType = "text/html"- 从以下版本开始:
- 1.8
-
-
构造方法详细信息
-
DataFlavor
public DataFlavor()
构造一个新的DataFlavor。 提供此构造函数仅用于支持Externalizable接口。 它不适合公共(客户)使用。- 从以下版本开始:
- 1.2
-
DataFlavor
public DataFlavor(类<?> representationClass, String humanPresentableName)
构造一个代表Java类的DataFlavor。返回的
DataFlavor将具有以下特征:representationClass = representationClass mimeType = application/x-java-serialized-object- 参数
-
representationClass- 用于传输此风格的数据的类 -
humanPresentableName- 用于识别这种味道的人类可读字符串; 如果此参数为null则使用MIME内容类型的值 - 异常
-
NullPointerException- 如果representationClass是null
-
DataFlavor
public DataFlavor(String mimeType, String humanPresentableName)
构造一个DataFlavor一个表示MimeType。返回的
DataFlavor将具有以下特征:如果
mimeType是“application / x-java-serialized-object; class = <representation class>”,则结果与调用new DataFlavor(Class.forName(<representation class>)相同。除此以外:
representationClass = InputStream mimeType = mimeType- 参数
-
mimeType- 用于标识此flavor的MIME类型的字符串; 如果mimeType未指定“class =”参数,或者如果未成功加载该类,则抛出IllegalArgumentException -
humanPresentableName- 用于识别这种味道的人类可读字符串; 如果此参数为null则使用MIME内容类型的值 - 异常
-
IllegalArgumentException- 如果mimeType无效或者未成功加载类 -
NullPointerException- 如果mimeType是null
-
DataFlavor
public DataFlavor(String mimeType, String humanPresentableName, ClassLoader classLoader) throws ClassNotFoundException
构造一个DataFlavor一个表示MimeType。返回的
DataFlavor具有以下特征:如果mimeType是“application / x-java-serialized-object; class = <representation class>”,则结果与调用
new DataFlavor(Class.forName(<representation class>)相同。除此以外:
representationClass = InputStream mimeType = mimeType- 参数
-
mimeType- 用于标识此flavor的MIME类型的字符串 -
humanPresentableName- 用于识别此风格的人类可读字符串 -
classLoader- 要使用的类加载器 - 异常
-
ClassNotFoundException- 如果未加载类 -
IllegalArgumentException- 如果mimeType无效 -
NullPointerException- 如果mimeType是null
-
DataFlavor
public DataFlavor(String mimeType) throws ClassNotFoundException
构造一个DataFlavor从mimeType字符串。 该字符串可以指定“class = <完全指定的Java类名>”参数,以创建具有所需表示类的DataFlavor。 如果字符串不包含“class =”参数,则默认使用java.io.InputStream。- 参数
-
mimeType- 用于标识此flavor的MIME类型的字符串; 如果“class =”参数指定的类未成功加载,则抛出ClassNotFoundException - 异常
-
ClassNotFoundException- 如果未加载类 -
IllegalArgumentException- 如果mimeType无效 -
NullPointerException- 如果mimeType是null
-
-
方法详细信息
-
tryToLoadClass
protected static final 类<?> tryToLoadClass(String className, ClassLoader fallback) throws ClassNotFoundException
尝试从以下方面加载类:引导加载程序,系统加载程序,上下文加载程序(如果存在)以及最后指定的加载程序。- 参数
-
className- 要加载的类的名称 -
fallback- 后备加载程序 - 结果
- 加载的类
- 异常
-
ClassNotFoundException- 如果找不到课程
-
toString
public String toString()
此DataFlavor及其参数的字符串表示形式。 生成的String包含DataFlavor类的名称,此flavor的MIME类型及其表示类。 如果此flavor具有主要MIME类型“text”,支持charset参数,并且具有编码表示,则还包括flavor的charset。 有关支持charset参数的文本selectBestTextFlavor的列表,请参见selectBestTextFlavor。- 重写:
-
toString在类Object - 结果
-
此
DataFlavor字符串表示DataFlavor - 另请参见:
-
selectBestTextFlavor(java.awt.datatransfer.DataFlavor[])
-
getTextPlainUnicodeFlavor
public static final DataFlavor getTextPlainUnicodeFlavor()
返回表示具有Unicode编码的纯文本的DataFlavor,其中:representationClass = java.io.InputStream mimeType = "text/plain; charset=<platform default Unicode encoding>"- Implementation Note:
-
Oracle针对Microsoft Windows和macOS的实现使用编码
utf-16le。 Oracle针对Solaris和Linux的实现使用编码iso-10646-ucs-2。 - 结果
-
DataFlavor表示具有Unicode编码的纯文本 - 从以下版本开始:
- 1.3
-
selectBestTextFlavor
public static final DataFlavor selectBestTextFlavor(DataFlavor[] availableFlavors)
从DataFlavors数组中选择最佳文本DataFlavor。 仅DataFlavor.stringFlavor,以及具有主要MIME类型“text”的等效风格和风格,以供选择。首先按以下顺序按其MIME类型对Flavors进行排序:
- “文/ SGML”
- “文/ XML”
- “text / html的”
- “文/ RTF”
- “文/富”
- “文/富文本”
- “文/ URI列表”
- “文本/标签分隔值”
- “文/ T140”
- “文/ RFC822报头”
- “文/ parityfec”
- “文/目录”
- “文/ CSS”
- “文本/日历”
- “应用程序/ x-java的序列化对象”
- “text / plain的”
- “文本/ <其它>”
例如,将在“text / html”上选择“text / sgml”,并在
DataFlavor.stringFlavor上选择DataFlavor.plainTextFlavor。如果两个或多个flavor在数组中共享最佳MIME类型,那么将检查该MIME类型以查看它是否支持charset参数。
以下MIME类型支持或被视为支持,如charset参数:
- “文/ SGML”
- “文/ XML”
- “text / html的”
- “文/富”
- “文/富文本”
- “文/ URI列表”
- “文/目录”
- “文/ CSS”
- “文本/日历”
- “应用程序/ x-java的序列化对象”
- “text / plain的”
- “文/ RTF”
- “文本/标签分隔值”
- “文/ T140”
- “文/ RFC822报头”
- “文/ parityfec”
DataFlavor明确列出。 如果是这样,JRE将从那时开始假设MIME类型支持charset参数,并且不会再次检查。 如果未明确列出该参数,则JRE将从该点开始假定MIME类型不支持charset参数,并且不会再次检查。 由于此检查是在任意选择的DataFlavor上执行的,因此开发人员必须确保具有“text / <other>”MIME类型的所有DataFlavor指定charset参数(如果该MIME类型支持该参数)。 开发人员不应该依赖JRE将平台的默认字符集替换为“text / <other>”DataFlavor。 不遵守此限制将导致未定义的行为。如果阵列中的最佳MIME类型不支持charset参数,则共享MIME类型的flavor然后可通过它们的表示的类以下面的顺序进行排序:
java.io.InputStream,java.nio.ByteBuffer,[B,<所有其他>。如果两种或更多种口味共享最佳表示类别,或者如果没有味道具有三种指定表示中的一种,则将非确定性地选择这些口味中的一种。
如果阵列中的最佳MIME类型不支持charset参数,则共享MIME类型的flavor然后可通过它们的表示的类以下面的顺序进行排序:
java.io.Reader,java.lang.String,java.nio.CharBuffer,[C,<所有其他>。如果两个或多个风格共享最佳表示类,并且该表示是明确列出的四个之一,则将非确定性地选择这些风格中的一个。 但是,如果没有任何风味具有四种指定表示中的一种,则风味将按其字符集排序。 Unicode字符集,例如“UTF-16”,“UTF-8”,“UTF-16BE”,“UTF-16LE”及其别名,被认为是最佳的。 在它们之后,选择平台默认字符集及其别名。 “US-ASCII”及其别名最差。 所有其他字符集都按字母顺序选择,但只考虑Java平台的此实现支持的字符集。
如果两个或多个flavor共享最佳的charset,则flavor再次按照其表示形式类排序,顺序如下:
java.io.InputStream,java.nio.ByteBuffer,[B,<所有其他>。如果两种或更多种口味共享最佳表示类别,或者如果没有味道具有三种指定表示中的一种,则将非确定性地选择这些口味中的一种。
- 参数
-
availableFlavors- 一系列可用的DataFlavors - 结果
-
根据上面规定的最佳(最高保真度)风味,或
null,如果availableFlavors是null,长度为零,或者不包含文字风味 - 从以下版本开始:
- 1.3
-
getReaderForText
public Reader getReaderForText(Transferable transferable) throws UnsupportedFlavorException, IOException
获取文本flavor的Reader,如果需要,为预期的charset(编码)解码。 支持的表示形式类是java.io.Reader,java.lang.String,java.nio.CharBuffer,[C,java.io.InputStream,java.nio.ByteBuffer和[B。因为不支持charset参数的文本flavor以非标准格式编码,所以不应该为这种风格调用此方法。 但是,为了保持向后兼容性,如果为这种风格调用此方法,此方法将将该风格视为支持charset参数并尝试相应地对其进行解码。 有关不支持charset参数的文本
selectBestTextFlavor的列表,请参见selectBestTextFlavor。- 参数
-
transferable-Transferable其数据将以此风格请求 - 结果
-
a
Reader阅读Transferable的数据 - 异常
-
IllegalArgumentException- 如果表示类不是上面列出的七个之一 -
IllegalArgumentException- 如果Transferable有null数据 -
NullPointerException- 如果Transferable是null -
UnsupportedEncodingException-如果此flavor的表示形式为java.io.InputStream,java.nio.ByteBuffer,或[B这flavor的编码不能由此实现Java平台的支持 -
UnsupportedFlavorException- 如果Transferable不支持这种味道 -
IOException- 如果由于I / O错误而无法读取数据 - 从以下版本开始:
- 1.3
- 另请参见:
-
selectBestTextFlavor(java.awt.datatransfer.DataFlavor[])
-
getMimeType
public String getMimeType()
返回此DataFlavor的MIME类型字符串。- 结果
- 此flavor的MIME类型字符串
-
getRepresentationClass
public 类<?> getRepresentationClass()
返回类其对象支持此DataFlavor时,这将返回DataFlavor要求。- 结果
-
该
类其对象支持此DataFlavor时,这将返回DataFlavor要求
-
getHumanPresentableName
public String getHumanPresentableName()
返回此DataFlavor表示的数据格式的人类可呈现名称。 此名称将针对不同国家/地区进行本地化- 结果
-
此
DataFlavor表示的数据格式的人类可显示名称
-
getPrimaryType
public String getPrimaryType()
返回此DataFlavor的主要MIME类型。- 结果
-
DataFlavor的主要MIME类型
-
getSubType
public String getSubType()
返回此DataFlavor的子MIME类型。- 结果
-
这个
DataFlavor的子MIME类型
-
getParameter
public String getParameter(String paramName)
如果paramName等于“humanPresentableName”,则返回此DataFlavor的人类可呈现名称。 否则返回与paramName关联的MIME类型值。- 参数
-
paramName- 请求的参数名称 - 结果
-
name参数的值,如果没有关联值,
null
-
setHumanPresentableName
public void setHumanPresentableName(String humanPresentableName)
设置此DataFlavor表示的数据格式的人类可呈现名称。 此名称将针对不同国家/地区进行本地化- 参数
-
humanPresentableName- 新的人类名字
-
equals
public boolean equals(Object o)
指示某个其他对象是否“等于”此对象。equals方法在非null对象引用上实现等价关系:- 自反性 :对于任何非空的参考值
x,x.equals(x)应该返回true。 - 它是对称的 :对于任何非空引用值
x和y,x.equals(y)应该返回true当且仅当y.equals(x)回报true。 - 传递性 :对于任何非空引用值
x,y和z,如果x.equals(y)回报true个y.equals(z)回报true,然后x.equals(z)应该返回true。 - 它是一致的 :对于任何非空引用值
x和y,多次调用x.equals(y)始终返回true或始终返回false,前提是未修改对象上的equals比较中使用的信息。 - 对于任何非空的参考值
x,x.equals(null)应该返回false。
类
Object的equals方法实现了对象上最具区别的可能等价关系; 也就是说,对于任何非空引用值x和y,当且仅当x和y引用同一对象(x == y具有值true)时,此方法返回true。请注意,通常需要在重写此方法时覆盖
hashCode方法,以便维护hashCode方法的常规协定,该方法声明相等对象必须具有相等的哈希代码。DataFlavor类的等于比较实现如下:当且仅当它们的MIME主类型和子类型以及表示类相等时,才认为两个DataFlavor是相等的。 此外,如果主类型是“文本”,子类型表示文本flavor支持charset参数,和表示类不是java.io.Reader,java.lang.String,java.nio.CharBuffer,或[C,所述charset参数也必须是相等的。 如果没有为DataFlavor的一个或两个明确指定字符集,则假定使用平台默认编码。 有关支持charset参数的文本selectBestTextFlavor的列表,请参见selectBestTextFlavor。- 重写:
-
equals在类Object - 参数
-
o- 用Object与this比较 - 结果
-
true如果that相当于此DataFlavor; 否则为false - 另请参见:
-
selectBestTextFlavor(java.awt.datatransfer.DataFlavor[])
- 自反性 :对于任何非空的参考值
-
equals
public boolean equals(DataFlavor that)
此方法与equals(Object)具有相同的行为。 唯一的区别是它需要一个DataFlavor实例作为参数。- 参数
-
that- 与DataFlavor进行比较this - 结果
-
true如果that与此相当于DataFlavor; 否则为false - 另请参见:
-
selectBestTextFlavor(java.awt.datatransfer.DataFlavor[])
-
equals
@Deprecated public boolean equals(String s)
Deprecated.As inconsistent withhashCode()contract, useisMimeTypeEqual(String)instead.比较只有mimeType针对传入String和representationClass在比较时不考虑。 如果representationClass要比较的需求,然后equals(new DataFlavor(s))可以使用。- 参数
-
s- 比较mimeType - 结果
-
true如果String(MimeType)相等;false否则或者如果s是null
-
hashCode
public int hashCode()
返回此DataFlavor哈希码。 对于两个相等的DataFlavor,哈希码是相等的。 为String匹配DataFlavor.equals(String),它不能保证DataFlavor的哈希码等于的哈希码String。- 重写:
-
hashCode在类Object - 结果
-
这个
DataFlavor的哈希代码 - 另请参见:
-
Object.equals(java.lang.Object),System.identityHashCode(java.lang.Object)
-
match
public boolean match(DataFlavor that)
与equals(DataFlavor)相同。- 参数
-
that- 与DataFlavor比较this - 结果
-
true如果that相当于此DataFlavor; 否则为false - 从以下版本开始:
- 1.3
- 另请参见:
-
selectBestTextFlavor(java.awt.datatransfer.DataFlavor[])
-
isMimeTypeEqual
public boolean isMimeTypeEqual(String mimeType)
返回传入的MIME类型的字符串表示形式是否等效于此DataFlavor的MIME类型。 参数不包括在比较中。- 参数
-
mimeType- MIME类型的字符串表示形式 - 结果
-
true如果传入的MIME类型的字符串表示形式等同于此DataFlavor的MIME类型; 否则为false - 异常
-
NullPointerException- 如果mimeType是null
-
isMimeTypeEqual
public final boolean isMimeTypeEqual(DataFlavor dataFlavor)
比较mimeType两个DataFlavor对象。 不考虑参数。- 参数
-
dataFlavor- 待比较的DataFlavor - 结果
-
true若MimeTypes相等,否则false
-
isMimeTypeSerializedObject
public boolean isMimeTypeSerializedObject()
DataFlavor是否代表序列化对象?- 结果
- 是否表示序列化对象
-
getDefaultRepresentationClass
public final 类<?> getDefaultRepresentationClass()
返回默认的表示形式类。- 结果
- 默认的表示类
-
getDefaultRepresentationClassAsString
public final String getDefaultRepresentationClassAsString()
返回默认表示形式的名称。- 结果
- 默认表示形式的名称
-
isRepresentationClassInputStream
public boolean isRepresentationClassInputStream()
DataFlavor是否代表java.io.InputStream?- 结果
-
此
DataFlavor是否代表java.io.InputStream
-
isRepresentationClassReader
public boolean isRepresentationClassReader()
返回此DataFlavor的表示类是java.io.Reader还是其子类。- 结果
-
此
DataFlavor的表示形式及DataFlavor是否为java.io.Reader或其子类 - 从以下版本开始:
- 1.4
-
isRepresentationClassCharBuffer
public boolean isRepresentationClassCharBuffer()
返回此DataFlavor的表示形式类是java.nio.CharBuffer还是其子类。- 结果
-
此
DataFlavor的表示形式及其子类DataFlavor为java.nio.CharBuffer或其子类 - 从以下版本开始:
- 1.4
-
isRepresentationClassByteBuffer
public boolean isRepresentationClassByteBuffer()
返回此DataFlavor的表示形式类是java.nio.ByteBuffer还是其子类。- 结果
-
此
DataFlavor的表示形式及其子类DataFlavor为java.nio.ByteBuffer - 从以下版本开始:
- 1.4
-
isRepresentationClassSerializable
public boolean isRepresentationClassSerializable()
如果可以序列化表示类,则返回true。- 结果
-
true如果可以序列化表示类
-
isRepresentationClassRemote
public boolean isRepresentationClassRemote()
返回true如果表示形式类为Remote。- 结果
-
true如果表示类是Remote
-
isFlavorSerializedObjectType
public boolean isFlavorSerializedObjectType()
如果指定的DataFlavor表示序列化对象,则返回true。- 结果
-
true如果指定的DataFlavor表示序列化对象
-
isFlavorRemoteObjectType
public boolean isFlavorRemoteObjectType()
如果指定的DataFlavor表示远程对象,则返回true。- 结果
-
true如果指定的DataFlavor表示远程对象
-
isFlavorJavaFileListType
public boolean isFlavorJavaFileListType()
如果指定的DataFlavor表示文件对象列表,则返回true。- 结果
-
true如果指定的DataFlavor表示java.util.List的java.io.File
-
isFlavorTextType
public boolean isFlavorTextType()
返回此DataFlavor是否是此Java平台实现的有效文本flavor。 只有等效于DataFlavor.stringFlavor和DataFlavor且主要MIME类型为“text”的风格才能成为有效的文本风格。如果此flavor支持charset参数,它必须是相当于
DataFlavor.stringFlavor,或者其表示必须是java.io.Reader,java.lang.String,java.nio.CharBuffer,[C,java.io.InputStream,java.nio.ByteBuffer,或[B。 如果表示是java.io.InputStream,java.nio.ByteBuffer,或[B,那么这个味道的charset参数必须通过此实现Java平台的支持。 如果未指定charset,则假定始终支持平台默认charset。如果此flavor不支持charset参数,其形式必须是
java.io.InputStream,java.nio.ByteBuffer,或[B。有关支持charset参数的文本
selectBestTextFlavor的列表,请参见selectBestTextFlavor。- 结果
-
true如果此DataFlavor是如上所述的有效文本风格; 否则为false - 从以下版本开始:
- 1.4
- 另请参见:
-
selectBestTextFlavor(java.awt.datatransfer.DataFlavor[])
-
writeExternal
public void writeExternal(ObjectOutput os) throws IOException
序列化这个DataFlavor。- Specified by:
-
writeExternal在界面Externalizable - 参数
-
os- 要将对象写入的流 - 异常
-
IOException- 包括可能发生的任何I / O异常
-
readExternal
public void readExternal(ObjectInput is) throws IOException, ClassNotFoundException
从序列化状态恢复此DataFlavor。- Specified by:
-
readExternal在界面Externalizable - 参数
-
is- 从中读取数据以恢复对象的流 - 异常
-
IOException- 如果发生I / O错误 -
ClassNotFoundException- 如果找不到要还原的对象的类。
-
clone
public Object clone() throws CloneNotSupportedException
返回此DataFlavor。- 重写:
-
clone在类Object - 结果
-
这个
DataFlavor - 异常
-
CloneNotSupportedException- 如果对象的类不支持Cloneable接口。 覆盖clone方法的子类也可以抛出此异常以指示无法克隆实例。 - 另请参见:
-
Cloneable
-
normalizeMimeTypeParameter
@Deprecated protected String normalizeMimeTypeParameter(String parameterName, String parameterValue)
Deprecated.This method is never invoked by this implementation from 1.1 onwards对于每个MIME类型参数,调用DataFlavor以允许DataFlavor子类处理特殊参数,例如text / plaincharset参数,其值不区分大小写。 (MIME类型参数值应区分大小写。为每个参数名称/值对调用此方法,并应返回
parameterValue的规范化表示parameterValue。- 参数
-
parameterName- 参数名称 -
parameterValue- 参数值 - 结果
- 参数值
-
normalizeMimeType
@Deprecated protected String normalizeMimeType(String mimeType)
Deprecated.This method is never invoked by this implementation from 1.1 onwards为每个MIME类型字符串调用以为DataFlavor子类型提供更改MIME类型规范化的完成方式的机会。 一种可能的用途是在传入的MIME类型字符串中不存在默认参数/值对的情况下添加默认参数/值对。- 参数
-
mimeType- 哑剧类型 - 结果
- 哑剧类型
-
-