- java.lang.Object
-
- java.awt.datatransfer.DataFlavor
-
- All Implemented Interfaces:
-
Externalizable,Serializable,Cloneable
- 已知直接子类:
-
ActivationDataFlavor
public class DataFlavor extends Object implements Externalizable, Cloneable
ADataFlavor提供有关数据的元信息。DataFlavor通常用于访问剪贴板上的数据,或者在拖放操作期间。DataFlavor的实例封装了RFC 2045和RFC 2046中定义的内容类型。 内容类型通常称为MIME类型。内容类型由媒体类型(称为主类型),子类型和可选参数组成。 有关MIME类型的语法的详细信息,请参阅RFC 2045 。
JRE数据传输实现将MIME类型的参数“类”解释为表示类 。 表示类反映正在传输的对象的类。 换句话说,表示类是由
Transferable.getTransferData(java.awt.datatransfer.DataFlavor)返回的对象的类型。 例如,imageFlavor的MIME类型为"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的构造函数的相应文档。此外,具有“文本”主MIME类型的
DataFlavor实例可能具有“charset”参数。 有关“文本”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进行数据传输的更多信息,请参阅Java教程中的How to Use Drag and Drop and Data Transfer部分。
- 从以下版本开始:
- 1.1
- 另请参见:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field 描述 static DataFlavorallHtmlFlavor代表一个HTML标记。static DataFlavorfragmentHtmlFlavor代表一个HTML标记。static DataFlavorimageFlavorDataFlavor代表Java Image类,其中:static DataFlavorjavaFileListFlavor要将文件列表从Java(和底层平台)DataFlavor到一个DataFlavor的这种类型/子类型和表示类别为java.util.List。static StringjavaJVMLocalObjectMimeType要将引用传递给不具有关联MIME内容类型的任意Java对象引用,通过在同一JVM中的Transferable接口,将DataFlavor具有此类型/子类型的representationClass,其中representationClass等于类/接口的类型正在通过Transferable。static StringjavaRemoteObjectMimeType为了通过拖放ACTION_LINK操作将实时链接传递给远程对象,ACTION_LINK使用Mime Content应用程序类型/ x-java-remote-object,其中DataFlavor的表示类表示Remote接口的类型被转移。static StringjavaSerializedObjectMimeTypeMIME内容 - 应用程序类型/ x-java-serialized-object表示已被持久化的Java对象的图形。static DataFlavorplainTextFlavor已过时。截至1.3。 使用getReaderForText(java.awt.datatransfer.Transferable)而不是Transferable.getTransferData(DataFlavor.plainTextFlavor)。static DataFlavorselectionHtmlFlavor代表一个HTML标记。static DataFlavorstringFlavorDataFlavor代表Java Unicode String类,其中:
-
构造方法摘要
构造方法 Constructor 描述 DataFlavor()构造新的DataFlavor。DataFlavor(Class<?> representationClass, String humanPresentableName)构造一个表示Java类的DataFlavor。DataFlavor(String mimeType)从一个mimeType字符串构造一个DataFlavor。DataFlavor(String mimeType, String humanPresentableName)构造一个DataFlavor,代表一个MimeType。DataFlavor(String mimeType, String humanPresentableName, ClassLoader classLoader)构造一个DataFlavor,代表一个MimeType。
-
方法摘要
所有方法 静态方法 接口方法 具体的方法 弃用的方法 Modifier and Type 方法 描述 Objectclone()返回此DataFlavor的克隆。booleanequals(DataFlavor that)此方法与equals(Object)具有相同的行为。booleanequals(Object o)指示一些其他对象是否等于此。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)获取一个文本风味的阅读器,如有必要,解码为预期的字符集(编码)。Class<?>getRepresentationClass()返回Class其对象支持此DataFlavor时,这将返回DataFlavor请求。StringgetSubType()返回此DataFlavor的子MIME类型。static DataFlavorgetTextPlainUnicodeFlavor()返回一个DataFlavor代表纯文本与Unicode编码,其中:inthashCode()返回这个DataFlavor哈希码。booleanisFlavorJavaFileListType()如果指定的DataFlavor表示文件对象的列表,则返回true。booleanisFlavorRemoteObjectType()如果指定的DataFlavor表示远程对象,则返回true。booleanisFlavorSerializedObjectType()如果指定的DataFlavor表示序列化对象,则返回true。booleanisFlavorTextType()返回这个DataFlavor是否是Java平台实现的有效文本风格。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)选择最好的文本DataFlavor从数组DataFlavor秒。voidsetHumanPresentableName(String humanPresentableName)为DataFlavor表示的数据格式设置人类可呈现的名称。StringtoString()这个DataFlavor字符串表示及其参数。protected static Class<?>tryToLoadClass(String className, ClassLoader fallback)尝试加载一个类:引导加载程序,系统加载程序,上下文加载程序(如果存在),最后指定加载程序。voidwriteExternal(ObjectOutput os)序列化这个DataFlavor。
-
-
-
字段详细信息
-
stringFlavor
public static final DataFlavor stringFlavor
代表Java Unicode String类的DataFlavor,其中:representationClass = java.lang.String mimeType = "application/x-java-serialized-object"
-
imageFlavor
public static final DataFlavor imageFlavor
表示Java Image类的DataFlavor,其中:representationClass = java.awt.Image mimeType = "image/x-java-image"将null如果java.awt.Image不可见,java.desktop模块未加载,或java.desktop模块不在运行时映像中。
-
plainTextFlavor
@Deprecated public static final DataFlavor plainTextFlavor
已过时。 截至1.3。 使用getReaderForText(java.awt.datatransfer.Transferable)而不是Transferable.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内容 - 应用程序类型/ x-java-serialized-object表示已被持久化的Java对象的图形。与此
DataFlavor关联的表示类识别从调用返回的对象的Java类型java.awt.datatransfer.getTransferData。- 另请参见:
- Constant Field Values
-
javaFileListFlavor
public static final DataFlavor javaFileListFlavor
要将文件列表从Java(和底层平台)DataFlavor到一个DataFlavor的这种类型/子类型和表示类别为java.util.List。 列表中的每个元素都需要/保证为java.io.File类型。
-
javaJVMLocalObjectMimeType
public static final String javaJVMLocalObjectMimeType
要将引用传递给具有相关联的MIME内容类型的任意Java对象引用,通过在同一个JVM中的Transferable接口,将DataFlavor具有此类型/子类型的representationClass,其中representationClass等于类/接口的类型正在通过Transferable。从
Transferable.getTransferData返回的对于具有此MIME Content-Type的DataFlavor的对象引用Transferable.getTransferData是DataFlavor的表示类的DataFlavor。- 另请参见:
- Constant Field Values
-
javaRemoteObjectMimeType
public static final String javaRemoteObjectMimeType
为了通过拖放ACTION_LINK操作将实时链接传递给远程对象,ACTION_LINK使用Mime Content应用程序类型/ x-java-remote-object,其中DataFlavor的表示类表示Remote接口的类型被转移。- 另请参见:
- Constant Field Values
-
selectionHtmlFlavor
public static DataFlavor selectionHtmlFlavor
代表一个HTML标记。 标记由源侧选择的部分组成。 因此,标记中的某些标签可能不成对。 如果风味用于表示Transferable实例中的数据,则不会进行任何其他更改。 该DataFlavor实例表示与DataFlavor实例相同的HTML标记,内容MIME类型不包含文档参数,表示类是String类。representationClass = String mimeType = "text/html"- 从以下版本开始:
- 1.8
-
fragmentHtmlFlavor
public static DataFlavor fragmentHtmlFlavor
代表一个HTML标记。 如果可能,从本地系统接收到的标记用对标签补充为格式良好的HTML标记。 如果风味用于表示Transferable实例中的数据,则不会进行任何其他更改。representationClass = String mimeType = "text/html"- 从以下版本开始:
- 1.8
-
allHtmlFlavor
public static DataFlavor allHtmlFlavor
代表一个HTML标记。 如果可能,从本机系统接收的标记补充有附加标签,以组成一个格式良好的HTML文档。 如果风味用于表示Transferable实例中的数据,则不会进行其他更改。representationClass = String mimeType = "text/html"- 从以下版本开始:
- 1.8
-
-
构造方法详细信息
-
DataFlavor
public DataFlavor()
构造新的DataFlavor。 此构造函数仅用于支持Externalizable接口。 它不适用于公共(客户端)使用。- 从以下版本开始:
- 1.2
-
DataFlavor
public DataFlavor(Class<?> 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- 用于识别此风味的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- 用于标识此风味的MIME类型的字符串 -
humanPresentableName- 用于识别这种风味的人类可读字符串 -
classLoader- 要使用的类加载器 - 异常
-
ClassNotFoundException- 如果该类没有加载 -
IllegalArgumentException- 如果mimeType无效 -
NullPointerException- 如果mimeType是null
-
DataFlavor
public DataFlavor(String mimeType) throws ClassNotFoundException
从一个mimeType字符串构造一个DataFlavor。 该字符串可以指定一个“class = <完全指定的Java类名>>参数以创建具有所需代表类的DataFlavor。 如果字符串不包含“class =”参数,则默认使用java.io.InputStream。- 参数
-
mimeType- 用于识别此风味的MIME类型的字符串; 如果“class =”参数指定的类未成功加载,则抛出ClassNotFoundException - 异常
-
ClassNotFoundException- 如果该类没有加载 -
IllegalArgumentException- 如果mimeType无效 -
NullPointerException- 如果mimeType是null
-
-
方法详细信息
-
tryToLoadClass
protected static final Class<?> tryToLoadClass(String className, ClassLoader fallback) throws ClassNotFoundException
尝试加载一个类:引导加载程序,系统加载程序,上下文加载程序(如果存在),最后指定加载程序。- 参数
-
className- 要加载的类的名称 -
fallback- 后备装载机 - 结果
- 上课了
- 异常
-
ClassNotFoundException- 如果没有找到类
-
toString
public String toString()
这个DataFlavor字符串表示及其参数。 所得到的String包含DataFlavor类的名称,这种风格的MIME类型及其表示类。 如果这种风格的主要MIME类型为“text”,则支持charset参数,并且具有编码表示形式,还包括flavor的字符集。 有关支持charset参数的文本风格列表,请参阅selectBestTextFlavor。- 重写:
-
toString在Object - 结果
-
字符串表示的这个
DataFlavor - 另请参见:
-
selectBestTextFlavor(java.awt.datatransfer.DataFlavor[])
-
getTextPlainUnicodeFlavor
public static final DataFlavor getTextPlainUnicodeFlavor()
返回一个DataFlavor代表Unicode编码的纯文本,其中: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)
选择最好的文本DataFlavor从数组DataFlavor秒。 只有DataFlavor.stringFlavor,以及等效的口味和主要MIME类型为“text”的口味被考虑用于选择。风味首先按照以下顺序按其MIME类型排序:
- “文/ SGML”
- “文/ XML”
- “text / html的”
- “文/ RTF”
- “文/富”
- “文/富文本”
- “文/ URI列表”
- “文本/标签分隔值”
- “文/ T140”
- “文/ RFC822报头”
- “文/ parityfec”
- “文/目录”
- “文/ CSS”
- “文本/日历”
- “应用程序/ x-java的序列化对象”
- “text / plain的”
- “文本/ <其它>”
例如,“text / sgml”将通过“text / html”进行选择,而
DataFlavor.stringFlavor将被选择超过DataFlavor.plainTextFlavor。如果两个或更多个口味在数组中共享最好的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都指定了该MIME类型支持的charset参数。 开发人员不应该依赖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
获取一个文本风味的阅读器,如有必要,解码为预期的字符集(编码)。 支持的表示形式类是java.io.Reader,java.lang.String,java.nio.CharBuffer,[C,java.io.InputStream,java.nio.ByteBuffer,并[B。由于不支持charset参数的文本风格以非标准格式编码,因此不应该调用此方法。 然而,为了保持向后兼容性,如果这种方法被称为这样的风格,那么这种方法将会将风格视为支持charset参数并尝试相应地进行解码。 有关不支持charset参数的文本风格列表,请参阅
selectBestTextFlavor。- 参数
-
transferable-Transferable的数据将被要求在这种风格 - 结果
-
一个
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类型字符串。- 结果
- 这种风味的MIME类型字符串
-
getRepresentationClass
public Class<?> getRepresentationClass()
返回Class其对象支持此DataFlavor时,这将返回DataFlavor请求。- 结果
-
在
Class其对象支持此DataFlavor时,这将返回DataFlavor请求
-
getHumanPresentableName
public String getHumanPresentableName()
返回DataFlavor表示的数据格式的人性化名称。 该名称将针对不同的国家进行本地化。- 结果
-
该
DataFlavor代表的数据格式的人性化名称
-
getPrimaryType
public String getPrimaryType()
返回此DataFlavor的主MIME类型。- 结果
-
这是
DataFlavor的主要MIME类型
-
getSubType
public String getSubType()
返回此DataFlavor的子MIME类型。- 结果
-
该MIME类型为
DataFlavor
-
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方法在非空对象引用上实现等价关系:- 自反性 :对于任何非空的参考值
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。
该
equals类方法Object实现对象上差别可能性最大的相等关系; 也就是说,对于任何非空参考值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。- 重写:
-
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)
已过时。 与hashCode()合同不一致,请改用isMimeTypeEqual(String)。只比较mimeType对String和representationClass的通过,在比较中没有考虑。 如果representationClass要比较的需求,然后equals(new DataFlavor(s))可以使用。- 参数
-
s-mimeType进行比较 - 结果
-
如果String(MimeType)相等,
true;false否则或如果s是null
-
hashCode
public int hashCode()
返回这个DataFlavor哈希码。 对于两个相等的DataFlavors,哈希码是相等的。 为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如果MimeType相同,否则为false
-
isMimeTypeSerializedObject
public boolean isMimeTypeSerializedObject()
DataFlavor是否代表序列化对象?- 结果
- 是否表示序列化对象
-
getDefaultRepresentationClass
public final Class<?> 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的表示类是否为java.io.Reader或其子类 - 从以下版本开始:
- 1.4
-
isRepresentationClassCharBuffer
public boolean isRepresentationClassCharBuffer()
返回此DataFlavor的表示类是java.nio.CharBuffer还是其子类。- 结果
-
该
DataFlavor的表示类是否为java.nio.CharBuffer或其子类 - 从以下版本开始:
- 1.4
-
isRepresentationClassByteBuffer
public boolean isRepresentationClassByteBuffer()
返回这个DataFlavor的表示类是java.nio.ByteBuffer还是其子类。- 结果
-
该
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平台实现的有效文本风格。 只有等同于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平台的支持。 如果未指定字符集,则会始终支持始终支持的平台默认字符集。如果此flavor不支持charset参数,其形式必须是
java.io.InputStream,java.nio.ByteBuffer,或[B。有关支持charset参数的文本风格列表,请参阅
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)
已过时。 此方法从1.1开始就不会被此实现所调用针对每个MIME类型参数调用DataFlavor,以允许DataFlavor子类处理特殊参数,如text / plaincharset参数,其值不区分大小写。 (MIME类型参数值应该区分大小写。每个参数名称/值对都调用此方法,并返回
parameterValue的归一化表示。- 参数
-
parameterName- 参数名称 -
parameterValue- 参数值 - 结果
- 参数值
-
normalizeMimeType
@Deprecated protected String normalizeMimeType(String mimeType)
已过时。 此方法从1.1开始就不会被此实现所调用调用每个MIME类型的字符串,给予DataFlavor子类型改变MIME类型规范化如何完成的机会。 一种可能的用途是在传入的MIME类型字符串中不存在的情况下添加默认参数/值对。- 参数
-
mimeType- mime类型 - 结果
- mime类型
-
-